gpt4 book ai didi

java - 将二进制数据转换为字符串

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

如果我有一些二进制数据 D,我将它转换为字符串 S。我希望在将它转换回二进制时我会得到 D。但这是错误的。

public class A {
public static void main(String[] args) throws IOException {
final byte[] bytes = new byte[]{-114, 104, -35};// In hex: 8E 68 DD
System.out.println(bytes.length); //prints 3
System.out.println(new String(bytes, "UTF-8").getBytes("UTF-8").length); //prints 7
}
}

为什么会这样?

最佳答案

字节数组与字符串之间的相互转换并不是一对一的映射操作。阅读 docs ,字符串实现使用 CharsetDecoder将传入的字节数组转换为 unicode。输入字节数组中的第一个和最后一个字节不得映射到有效的 unicode 字符,因此它会将其替换为一些 replacement string。 .

关于java - 将二进制数据转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9144034/

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