Unicode编码
作者:互联网
Unicode
如果把各种文字编码形容为各地的方言,那么Unicode就是世界各国合作开发的一种语言。
编码方式
可以容纳世界上所有文字和符号的字符编码方案。
Unicode用数字0-0x10FFFF来映射这些字符,最多可以容纳1114112个字符,或者说有1114112个码位。
码位就是可以分配给字符的数。
实现方式
在Unicode中:汉字“字”对应的数字是23383。
在Unicode中,我们有很多方式将数字23383表示成程序中的数据,包括:UTF-8、UTF-16、UTF-32。
UTF是“Unicode Transformation Format”的缩写,可以翻译成Unicode字符集转换格式。
其中UTF-8使用最为广泛。
字节序
Unicode标准建议用BOM(Byte Order Mark)来区分字节序。
UTF编码 ║ Byte Order Mark
UTF-8 ║ EF BB BF
UTF-16LE ║ FF FE
UTF-16BE ║ FE FF
UTF-32LE ║ FF FE 00 00
UTF-32BE ║ 00 00 FE FF
Unicode编码原则
Universality:提供单一、综合的字符集,编码一切现代与大部分历史文献的字符。
Efficiency:易于处理与分析。
Characters, not glyphs:字符,而不是字形。
Semantics:字符要有良好定义的语义。
Plain text:仅限于文本字符。
Logical order:默认内存表示是其逻辑序。
Unification:把不同语言的同一书写系统(scripts)中相同字符统一起来。
Dynamic composition:附加符号可以动态组合。
Stability:已分配的字符与语义不再改变。
Convertibility:Unicode与其他著名字符集可以精确转换。
UTF8与Unicode互转
UTF8与Unicode互转源码:https://github.com/TxtpGame/KeyWord/blob/main/unicode.hpp 跨平台
GBK与Unicode互转
GBK编码字符数最多65536,用数组一一映射查表即可。
Emoji
emoji,绘文字,图画字符。目前使用范围非常广泛。
unicode对emoji做了编码 https://unicode-table.com/cn/emoji/
十二生肖:
标签:编码,00,UTF,字符,FE,Unicode 来源: https://www.cnblogs.com/txtp/p/16474200.html