gpt4 book ai didi

java - byte[] 到字符串并返回 byte[]

转载 作者:行者123 更新时间:2023-11-30 07:18:15 27 4
gpt4 key购买 nike

我在解释文件时遇到问题。文件构建如下:

"name"-@-"date"-@-"author"-@-"signature"

签名是一个字节数组。当我读回文件时,我将其解析为 String 并拆分它:

myFileInpuStream.read(fileContent);    
String[] data = new String(fileContent).split("-@-");

如果我查看 var fileContent,我会发现这些字节都很好。但是当我尝试获取签名字节数组时:

byte[] signature=  data[3].getBytes();

有时我会得到错误的 63 值。我尝试了一些解决方案:

new String(fileContent, "UTF-8")

但运气不好。有人可以帮忙吗?签名不是固定长度,因此我不能对其进行硬编码...

一些额外的信息:

原始签名:

[48, 45, 2, 21, 0, -123, -3, -5, -115, 84, -86, 26, -124, -112, 75, -10, -1, -56, 40, 13, -46, 6, 120, -56, 100, 2, 20, 66, -92, -8, 48, -88, 101, 57, 56, 20, 125, -32, -49, -123, 73, 96, 76, -82, 81, 51, 69]

文件内容(读后变):

... 48, 45, 2, 21, 0, -123, -3, -5, -115, 84, -86, 26, -124, -112, 75, -10, -1, -56, 40, 13, -46, 6, 120, -56, 100, 2, 20, 66, -92, -8, 48, -88, 101, 57, 56, 20, 125, -32, -49, -123, 73, 96, 76, -82, 81, 51, 69]

签名(在 split 和 getBytes() 之后):

[48, 45, 2, 21, 0, -123, -3, -5, 63, 84, -86, 26, -124, 63, 75, -10, -1, -56, 40, 13, -46, 6, 120, -56, 100, 2, 20, 66, -92, -8, 48, -88, 101, 57, 56, 20, 125, -32, -49, -123, 73, 96, 76, -82, 81, 51, 69]

最佳答案

您无法访问 data[4],因为您的表中有 4 个 String。所以你可以访问从 0 到 3 的 data

data[0] = name

data[1] = date

data[2] = author

data[3] = signature

解决方案:

byte[] signature = data[3].getBytes();

关于java - byte[] 到字符串并返回 byte[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15500625/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com