采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
请问,为什么String类型的“A”使用UTF-16编码时要用两个字节作为字节序,而char类型的’A’用UTF-16存储时是2个字节,不需要加字节序?
因为char的字节序是定义好的,java的char有明确的字节序,因此不需要用标记。字符串不一样啊,字符串你不知道是谁用,所以要告诉他字节序
哦哦,明白了,非常感谢回答,感觉这个问题暴露了我对java知道的还是不够多?
没那么严重啦,一点儿一点儿就积累起来啦,加油哈
老师提到:“char 的字节序是定义好的”,可以理解为 char 的字节序是固定的吗?是大端还是小端呢?
如果说存储的话都没有多余的两个字节序字节,Integer.toHexString() 方法输出 char 代表的整数值的十六进制数,不涉及字节序问题。而 String.getBytes(“utf-16") 方法输出的是连续的字节,所以需要知道字节序。
登录后可查看更多问答,登录/注册
改变视野和思维 深度与广度兼备的 Android 进阶面试指导课程
1.1k 1
1.2k 16
987 10
1.3k 10
1.2k 10
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号