[笔记]unicode和UTF-8之间的关系
2011-08-29 09:52
295 查看
Unicode是一种字符编码方法,不过它是由国际组织设计,可以容纳全世界所有语言文字的编码方案。Unicode的学名是"Universal Multiple-Octet Coded Character Set",简称为UCS。UCS可以看作是"Unicode Character Set"的缩写。
UCS只是规定如何编码,并没有规定如何传输、保存这个编码。例如“汉”字的UCS编码是6C49,我可以用4个ascii数字来传输、保存这个编码;也可以用utf-8编码:3个连续的字节E6 B1 89来表示它。关键在于通信双方都要认可。UTF-8、UTF-7、UTF-16都是被广泛接受的方案。UTF-8的一个特别的好处是它与ISO-8859-1完全兼容。UTF是“UCS Transformation Format”的缩写。
由上可知,UTF是为传输字符而用的的承载unicode的编码,电脑显示UTF字符串的流程是
1.将UTF解析成unicode
2.根据unicode查找计算字符的点阵
3.把点阵在屏幕上显示出来
UTF其系列还有UTF-7和UTF-16
其中UTF-16和Unicode编码大致一样, UTF-8就是以8位为单元对Unicode进行编码。从Unicode到UTF-8的编码方式如下:
Unicode编码(16进制) UTF-8 字节流(二进制)
0000 - 007F 0xxxxxxx
0080 - 07FF 110xxxxx 10xxxxxx
0800 - FFFF 1110xxxx 10xxxxxx 10xxxxxx
例如“汉”字的Unicode编码是6C49。6C49在0800-FFFF之间,所以肯定要用3字节模板了:1110xxxx 10xxxxxx 10xxxxxx。将6C49写成二进制是:0110 110001 001001, 用这个比特流依次代替模板中的x,得到:11100110 10110001 10001001,即E6 B1 89。
UCS只是规定如何编码,并没有规定如何传输、保存这个编码。例如“汉”字的UCS编码是6C49,我可以用4个ascii数字来传输、保存这个编码;也可以用utf-8编码:3个连续的字节E6 B1 89来表示它。关键在于通信双方都要认可。UTF-8、UTF-7、UTF-16都是被广泛接受的方案。UTF-8的一个特别的好处是它与ISO-8859-1完全兼容。UTF是“UCS Transformation Format”的缩写。
由上可知,UTF是为传输字符而用的的承载unicode的编码,电脑显示UTF字符串的流程是
1.将UTF解析成unicode
2.根据unicode查找计算字符的点阵
3.把点阵在屏幕上显示出来
UTF其系列还有UTF-7和UTF-16
其中UTF-16和Unicode编码大致一样, UTF-8就是以8位为单元对Unicode进行编码。从Unicode到UTF-8的编码方式如下:
Unicode编码(16进制) UTF-8 字节流(二进制)
0000 - 007F 0xxxxxxx
0080 - 07FF 110xxxxx 10xxxxxx
0800 - FFFF 1110xxxx 10xxxxxx 10xxxxxx
例如“汉”字的Unicode编码是6C49。6C49在0800-FFFF之间,所以肯定要用3字节模板了:1110xxxx 10xxxxxx 10xxxxxx。将6C49写成二进制是:0110 110001 001001, 用这个比特流依次代替模板中的x,得到:11100110 10110001 10001001,即E6 B1 89。
相关文章推荐
- Unicode和UTF-8之间的关系(转贴)
- ASCII,Unicode和UTF-8之间的关系
- 常见的几种字符编码方式及Unicode与UTF-8之间的关系
- ASCII, BIG5, GBK, Unicode, UTF之间的关系
- 字符编码:Unicode和UTF-8之间的关系
- gbk, gb2312,big5,unicode,utf-8,utf-16之间的关系
- gbk, gb2312,big5,unicode,utf-8,utf-16之间的关系
- ASCII,Unicode和UTF-8之间的关系
- 符号编码-ASCII、Unicode、Unicode big endian、UTF-8之间的关系(转)
- unicode和utf-8,gbk之间的转换与关系
- Unicode和UTF-8之间的关系
- gbk, gb2312,big5,unicode,utf-8,utf-16之间的关系
- unicode和utf-8和assci之间的关系
- ASCII,Unicode和UTF-8之间的关系
- Unicode和UTF-8之间的关系
- [转] ASCII,Unicode,UTF-8,GB2312编码之间的关系
- ASCII、Unicode、GBK、UTF-8之间的关系
- erl0008 - unicode 和 utf-8之间的关系
- 关于unicode和多字节之间的关系及区别(笔记)
- gbk, gb2312,big5,unicode,utf-8,utf-16之间的关系