核心Java如何将20字节字节数组转换为字符串

时间:2015-12-25 22:55:15

标签: java encoding utf-8 character-encoding

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

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

这是正确的。

但是当我将它转换为字符串时,我得到一个空值。我怀疑charset是问题,但即使尝试了不同的charSets,我也无法返回值'0'。

window.window.window

我尝试更改charSet但无法解决问题,任何线索都可能会丢失。

US-ASCII
ISO-8859-1
UTF-8 UTF-16BE UTF-16LE UTF-16

1 个答案:

答案 0 :(得分:1)

我还没有测试过代码。

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

尝试使用{48, 48, 48...},字符串将为"000000..",但是匹配的写字符将生成"48484848...",或类似的内容。

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

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