java - 为什么 byteArray 的长度是 22 而不是 20?

标签 java encoding string bytearray

我们尝试使用以下 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/

相关文章:

python 编码 gzip 字符串

python - 如何更准确地从字符串中识别和提取颜色名称?

string - Haskell 在 String 中查找 String 的索引

java - 用 HTML 标签解析 CDATA 并获取内容

encoding - 我们需要多少个字节来存储阿拉伯字符

java - 记录生成的 MIDI 事件 : inner conversion from timestamps to midi file delta time

mysql - mysql如何排序字符串?

java - 计算字符串中最长的回文子串

java - 如何在oracle java中获取驱动器容量

java - ClientBundle 不加载 ImageResource