其他分享
首页 > 其他分享> > Unicode编码

Unicode编码

作者:互联网

Unicode

如果把各种文字编码形容为各地的方言,那么Unicode就是世界各国合作开发的一种语言。

编码方式

可以容纳世界上所有文字和符号的字符编码方案。

Unicode用数字0-0x10FFFF来映射这些字符,最多可以容纳1114112个字符,或者说有1114112个码位。

码位就是可以分配给字符的数。

实现方式

在Unicode中:汉字“字”对应的数字是23383。

在Unicode中,我们有很多方式将数字23383表示成程序中的数据,包括:UTF-8UTF-16UTF-32

UTF是“Unicode Transformation Format”的缩写,可以翻译成Unicode字符集转换格式。

其中UTF-8使用最为广泛。

img

字节序

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互转

img

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