unicode字符集 utf-8 字符编码规则

695
2023/9/4 6:10:34
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

UTF-8(8-bit Unicode Transformation Format)是一种变长编码方式,可以用来表示Unicode字符集中的所有字符。其编码规则如下:

  1. 对于ASCII字符(U+0000至U+007F),UTF-8使用1个字节来编码,高位bit为0,后面7位用来表示字符的Unicode码。

  2. 对于非ASCII字符,UTF-8使用多个字节来编码。具体规则如下:

  • 如果字符的Unicode码在U+0080至U+07FF之间,UTF-8使用2个字节来编码。编码方式为:110xxxxx 10yyyyyy,其中高5位为110,表示使用2个字节,后面的6位用来表示字符的高5位Unicode码;第二个字节的高2位为10,后面的6位用来表示字符的低6位Unicode码。

  • 如果字符的Unicode码在U+0800至U+FFFF之间,UTF-8使用3个字节来编码。编码方式为:1110xxxx 10yyyyyy 10zzzzzz,其中高4位为1110,表示使用3个字节,后面的4位用来表示字符的高4位Unicode码;第二个字节的高2位为10,后面的6位用来表示字符的中间6位Unicode码;第三个字节的高2位为10,后面的6位用来表示字符的低6位Unicode码。

  • 对于更大的Unicode码,UTF-8使用更多字节来编码,规则相似。

通过这种编码方式,UTF-8可以表示Unicode字符集中的任意字符,并且对于ASCII字符,使用的字节数与ASCII编码完全一致,这使得UTF-8兼容ASCII编码。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: python中的unicode错误怎么解决