永发信息网

为什么UTF-16要有LE和BE之分

答案:2  悬赏:10  手机版
解决时间 2021-03-19 10:51
  • 提问者网友:欲劫无渡
  • 2021-03-18 19:13
为什么UTF-16要有LE和BE之分
最佳答案
  • 五星知识达人网友:春色三分
  • 2021-03-18 20:42
unicode指的是一种编码字符集,即所谓的万国码,而UTF-8,UTF-16(LE,BE)都只是针对这种字符集的一种编码方式。
为什么要采用Unicode字符集呢,因为它能表示的字符几乎包含了世界上所有的字符,这在需要国际化的应用场景中可以很方便使用,一种字符集就可以表示所有的字符。
那为什么它会有不同的编码方式呢?Unicode字符只是定义了一个码表,即字符与一组数字间的映射,具体这个字符的数字如何在计算机内编码则没有规定,所以人们根据实际的场景需要,使用了不同的编码字符集。
UTF-8,是可变长编码,是多字节编码,但它的编码不需要通过而外的BOM(Byte Order Marker)来说明(当然,也有使用BOM的UTF-8编码的),使用这种编码的好处就是节省了存储空间,但编码效率去降低了,这就是所谓的用时间换空间。
UTF-16,是定长编码,是双字节编码,所以两个字节保存时哪个在前,哪个在后关系到解析出字符的结果。至于会出现BE,和LE的编码,由于每个字符占用了两个字节,在Macintosh (Mac)机和PC机上,对字节顺序的理解是不一致的,这个是历史习惯造成的。如果一个文件不明确说明其UTF-16使用的是BE还是LE时,那么就需要通过BOM来指明了。使用这种编码的好处就是编码效率较高,但毕竟浪费存储空间,这就是所谓的用空间换时间。
全部回答
  • 1楼网友:怙棘
  • 2021-03-18 21:59
搜一下:为什么UTF-16要有LE和BE之分
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯