Unicode 与 UTF-8

什么是 Unicode

Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布

什么是 UTF-8 编码

UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码Unicode字符。用在网页上可以统一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。

中文是如何进行 UTF-8 编码的

从上面可以得知, 包括中文在 unicode 编码集也会有对应的二进制码(目前都是以 16 进制表示)
比如 你好 对应的 unicode\u4f60\u597d 去掉前面的 \u 转义符号剩下 4f60 597d , 编码规则如下

Unicode bit数 UTF-8
0000 ~ 007F 0~7 0XXX XXXX
0080 ~ 07FF 8~11 110X XXXX 10XX XXXX
0800 ~ FFFF 12~16 1110XXXX 10XX XXXX 10XX XXXX
1 0000 ~ 1F FFFF 12~16 11110XXX 10XX XXXX 10XX XXXX 10XX XXXX

编码以此类推
你好 对应的 Unicode 编码为 4f60 597d 范围在 0800 ~ FFFF 对应的 UTF-8 格式为 1110 XXXX 10XX XXXX 10XX XXXX, 4f60 对应的二进制编码为 01001111 01100000 把 X 按顺序填进去得到 11100100 10111101 10100000 再转为 16 进制得到 E4BDA0

python 中字符串前面加个 u, 如: u’你好’, 表示的是 你好Unicode 编码

猜你喜欢

转载自blog.csdn.net/u010435828/article/details/80061663