书香 发表于 2024-2-10 08:48

【Unicode(UTF-16)】

本帖最后由 书香 于 2024-3-4 02:45 编辑

先预习前面的知识点
008:【ASCALL编码】                  009:【UTF-8和GBK】

说简单点就是现在的字符太多了(各种字体表情包等等),UTF-8已经满足不了需求了,所以引入了Unicode(UTF-16),目的就是为了表达更多的字符

Unicode对于单个字符采用4个字节来表示,但是双字符不一定是8个字节
例子:
你:{96,79,0,0}
你你:{96,79,96,79,0,0}
a:{97,0,0,0}
aa:{97,0,97,0,0,0}
0,0可以理解为结束符,一般在表达中文和英文的时候,字节数=字符数*2 + 2 ,加上的2就是结束符0,0,我们也主要只会涉及到英文和中文的编码转换,熟悉这个规则就好


这其实也是给很多人解答一个疑惑,为什么写出的文本包含一个字符的是4个字节(当然也有可能是2个字节,直接把0,0这个结束符给省略了),2个字符却是6字节了


(点击返回课程目录:https://www.52hb.com/thread-58658-1-1.html)

lies 发表于 2024-2-10 14:38

谢谢教程,新年快乐~!
页: [1]
查看完整版本: 【Unicode(UTF-16)】