gpt4 book ai didi

java - Core Java 如何将20字节字节数组转换为字符串

转载 作者:行者123 更新时间:2023-12-01 10:40:09 25 4
gpt4 key购买 nike

我收到输入 20 字节。使用的字符集是UTF-8

当我将其转换为字符串时,我看到 0000000000000000000000000000000000000000

这是正确的。

但是当我将其转换为字符串时,我得到一个空值。我怀疑字符集有问题,但即使在尝试不同的字符集之后,我也无法返回值“0”。

public String convertFromBytes(byte[] input) {
System.out.println("BYTES ARE =="+ Hex.encodeHexString(input));
System.out.println("VALUE IS "+ new String(input, this.charset));
return new String(input, this.charset);
}

我尝试更改 charSet 但无法解决它,任何我可能缺少的线索。

US-ASCII
ISO-8859-1
UTF-8UTF-16BEUTF-16LEUTF-16

最佳答案

我尚未测试代码。

据我所知,您尝试将 {0x00, 0x00, 0x00...} 转换为 "000...",但您什么也没得到。由于 '0' 的值作为字符不是 0 而是 (ASCII) 48,因此不会打印任何内容。转储十六进制值和将十六进制数组解释为带编码的字符串之间存在差异。

尝试使用 {48, 48, 48...},字符串将为 "000000..",但十六进制写入行将生成 "48484848...”,或类似的东西。

PS:'0' 的代码是 48 以 10 为基数

编辑:看来您的字符串不为空,只包含不可打印的字符。

关于java - Core Java 如何将20字节字节数组转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34467129/

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