请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

字节序问题

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

正在回答

插入代码

2回答

bennyhuo 2019-02-28 05:38:56

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

2 回复 有任何疑惑可以回复我~
  • 提问者 慕圣3366217 #1
    哦哦,明白了,非常感谢回答,感觉这个问题暴露了我对java知道的还是不够多?
    回复 有任何疑惑可以回复我~ 2019-02-28 07:16:51
  • bennyhuo 回复 提问者 慕圣3366217 #2
    没那么严重啦,一点儿一点儿就积累起来啦,加油哈
    回复 有任何疑惑可以回复我~ 2019-02-28 07:17:35
  • 老师提到:“char 的字节序是定义好的”,可以理解为 char 的字节序是固定的吗?是大端还是小端呢?
    回复 有任何疑惑可以回复我~ 2022-11-04 15:57:09
yacca 2024-12-14 01:26:46

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

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号