我们尝试使用以下 Java 代码从字符串转换为 Byte[]
:
String source = "0123456789";
byte[] byteArray = source.getBytes("UTF-16");
我们得到一个长度为 22 字节的字节数组,我们不确定这个填充是从哪里来的。 如何获得长度为 20 的数组?
最佳答案
Alexander's answer 解释了它为什么存在,但没有解释如何摆脱它。您只需在编码名称中指定所需的字节顺序:
String source = "0123456789";
byte[] byteArray = source.getBytes("UTF-16LE"); // Or UTF-16BE
关于java - 为什么 byteArray 的长度是 22 而不是 20?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/228987/