gpt4 book ai didi

java - ByteArray 和 String 之间的转换

转载 作者:行者123 更新时间:2023-12-02 06:03:53 26 4
gpt4 key购买 nike

我有一个 2D 字节数组,如下所示:

Byte [][] headerparts=new Byte[n+1][24];

现在我也有一个字符串数组:

String[] finalshares=new String[n];

我需要将字节数组转换为字符串数组。所以我做了这样的事情:

for(i=0;i<n;i++){
finalshares[i]=headerparts[i].toString();
}

这是正确的方法吗?

还有如何将此字符串数组转换回 2D 字节数组。请帮忙。

像这样将字符串转换为字节数组是否正确:

for(i=0;i<n;i++){
System.out.println(finalshares[i].getBytes());
}

编辑:我根据下面提供的答案进行了转换:

问题是最初我的 2D[][] 字节数组是:

 1 5 3 116 69 75 99 54 0 0 0 106 115 71 69 108 49 122 0 0 0 44 40 
2 5 3 116 0 0 0 54 105 97 0 106 115 71 0 0 0 122 86 0 0 44 40
3 5 0 0 69 75 0 54 0 97 53 106 0 0 69 108 0 122 0 0 0 44 0
4 0 3 0 69 0 99 0 105 97 53 0 115 0 69 0 49 0 86 0 0 0 40
5 0 0 116 0 75 99 0 105 0 53 0 0 71 0 108 49 0 86 0 0 0 0

那为什么将 String [][] 转换为 Bytes 后的最终结果与此不一样?

最终答案是:

 [B@17bd6a1
[B@147ee05
[B@15b9e68
[B@1fcf0ce
[B@1256ea2

最佳答案

使用字节数组而不是字节数组

字节数组到字符串数组:

for(i=0;i<n;i++){
finalshares[i]=new String(headerparts[i]);
}

字符串到字节数组:

for(i=0;i<n;i++){
headerparts[i] = finalshares[i].getBytes();

}

关于java - ByteArray 和 String 之间的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22446567/

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