may*_*lpe 47 java string encoding bytearray
我们尝试从字符串转换为Byte[]使用以下Java代码:
String source = "0123456789";
byte[] byteArray = source.getBytes("UTF-16");
Run Code Online (Sandbox Code Playgroud)
我们得到一个长度为22个字节的字节数组,我们不确定这个填充来自何处.如何获得长度为20的数组?
Jon*_*eet 70
亚历山大的答案解释了为什么它存在,但不解释如何摆脱它.您只需在编码名称中指定所需的字节序:
String source = "0123456789";
byte[] byteArray = source.getBytes("UTF-16LE"); // Or UTF-16BE
Run Code Online (Sandbox Code Playgroud)
UTF在开头有一个字节顺序标记,表示该流以特定格式编码.正如其他用户所指出的那样,第
1个字节为0XFE,
第2个字节为0XFF
,其余字节为
0
48
0
49
0
50
0
51
0
52
0
53
0
54
0
55
0
56
0
57
| 归档时间: |
|
| 查看次数: |
81472 次 |
| 最近记录: |