gpt4 book ai didi

java - 字符串到字节数组的转换因windows和ubuntu而异

转载 作者:行者123 更新时间:2023-11-29 04:38:33 25 4
gpt4 key购买 nike

public static void main(String args[])
{
byte[] bytearray = new byte[]{1, -30, 48, 50, 49, 48};

for (int i = 0; i < bytearray.length; i++) {
System.out.print(bytearray[i]+", ");
}
System.out.println();
System.out.println("Length of byteArray before : "+bytearray.length);

String st = new String(bytearray);
System.out.println("String value : "+ st);

bytearray = st.getBytes();

for (int i = 0; i < bytearray.length; i++) {
System.out.print(bytearray[i]+", ");
}
System.out.println();
System.out.println("Length of byteArray after : "+bytearray.length);
}

这是我的程序,如果我在 Windows 上执行此程序,我会得到与之前完全相同的字节,但在 ubuntu 上,它会多出 2 个字节,我不明白吗?为什么?

我应该使用哪种方法在 ubuntu 上获取相同的数组?

最佳答案

抱歉,我认为您使用的是有效的编码数据。

你的字节不是有效的 UTF-8,所以如果你有不同版本的 Java,它可能会以不同的方式处理这个问题。

new byte[]{1, -30, 48, 50, 49, 48}

简而言之,您应该使用文本来尝试存储二进制数据。这只会让你感到困惑(并浪费内存)

关于java - 字符串到字节数组的转换因windows和ubuntu而异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40216640/

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