字节序问题

来源:3-1 Java 的 char 是两个字节,是怎么存 Utf-8 的字符的?

慕圣3366217

2019-02-27

请问,为什么String类型的“A”使用UTF-16编码时要用两个字节作为字节序,而char类型的’A’用UTF-16存储时是2个字节,不需要加字节序?

写回答

2回答

bennyhuo

2019-02-28

因为char的字节序是定义好的,java的char有明确的字节序,因此不需要用标记。字符串不一样啊,字符串你不知道是谁用,所以要告诉他字节序

2
4
bennyhuo
跟平台有关
2022-11-04
共4条回复

yacca

2024-12-14

如果说存储的话都没有多余的两个字节序字节,Integer.toHexString() 方法输出 char 代表的整数值的十六进制数,不涉及字节序问题。而 String.getBytes(“utf-16") 方法输出的是连续的字节,所以需要知道字节序。

0
0

大厂资深面试官 带你破解Android高级面试

改变视野和思维 深度与广度兼备的 Android 进阶面试指导课程

1636 学习 · 222 问题

查看课程