[学习笔记]字符集编码
2008-01-21 11:35
357 查看
一、什么是字符集?什么是编码?
字符(Charcter)是文字与符号的总称,包括文字、图形符号、数学符号等。
一组抽象字符的集合就是字符集(Charset)。字符集常常和一种具体的语言文字对应起来,该文字中的所有字符或者大部分常用字符就构成了该文字的字符集,比如英文字符集。一组有共同特征的字符也可以组成字符集,比如繁体汉字字符集、日文汉字字符集。字符集的子集也是字符集。
计算机要处理各种字符,就需要将字符和二进制内码对应起来,这种对应关系就是字符编码(Encoding)。制定编码首先要确定字符集,并将字符集内的字符排序,然后和二进制数字对应起来。根据字符集内字符的多少,会确定用几个字节来编码。每种编码都限定了一个明确的字符集合,叫做被编码过的字符集(Coded Character Set),这是字符集的另外一个含义。通常所说的字符集大多是这个含义。
因为制定编码的同时往往也制定了字符集,所以经常把字符集和编码混为一谈,具体区分细节不用细究。
二、通用字元集(Universal Character Set,UCS)
通用字元集(Universal Character Set,UCS)是由ISO制定的ISO10646(或称ISO/IEC 10646)标准所定义的字元编码方式,采用4字节编码。又称Universal Multiple-Octet Coded Character Set,大陆译为通用多八位编码字符集,臺湾译为广用多八位元编码字元集。
表示一个UCS或Unicode值的十六进位数通常在前面加上「U+」,例如「U+0041」代表字元「A」。
通用字元集是所有包括了其他字元集。它保证了与其他字元集的双向相容,即,如果你将任何文本字元串翻译到UCS格式,然後再翻译回原编码,你不会丢失任何信息。
三、unicode
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。随着计算机工作能力的增强,Unicode也在面世以来的十多年里得到普及。
2006年6月的最新版本的 Unicode 是 2005年3月31日推出的Unicode 4.1.0 。另外,5.0 Beta已于2005年12月12日推出,以供各会员评价。
Unicode 的编码和实现
大概来说,Unicode 编码系统可分为编码方式和实现方式两个层次。
1.编码方式
Unicode 的编码方式与 ISO 10646 的通用字元集(亦称[通用字符集])(Universal Character Set,UCS)概念相对应,目前的用于实用的 Unicode 版本对应于 UCS-2,使用16位的编码空间。也就是每个字符占用2个字节。
2.实现方式
Unicode 的实现方式不同于编码方式。一个字符的 Unicode 编码是确定的。但是在实际传输过程中,由于不同系统平台的设计不一定一致,以及出于节省空间的目的,对 Unicode 编码的实现方式有所不同。Unicode 的实现方式称为Unicode转换格式(Unicode/UCS Transformation Format,简称为 UTF)。
Unicode 的实现方式还包括 UTF-7、Punycode、CESU-8、SCSU、UTF-32等,这些实现方式有些仅在一定的国家和地区使用,有些则属于未来的规划方式。目前通用的实现方式是 UTF-16小尾序(BOM)、UTF-16大尾序(BOM)和 UTF-8。
UCS 和 Unicode 只是分配整数给字符的编码表,UTF-8、UTF-16、CESU-8等则指定了如何存储!
字符(Charcter)是文字与符号的总称,包括文字、图形符号、数学符号等。
一组抽象字符的集合就是字符集(Charset)。字符集常常和一种具体的语言文字对应起来,该文字中的所有字符或者大部分常用字符就构成了该文字的字符集,比如英文字符集。一组有共同特征的字符也可以组成字符集,比如繁体汉字字符集、日文汉字字符集。字符集的子集也是字符集。
计算机要处理各种字符,就需要将字符和二进制内码对应起来,这种对应关系就是字符编码(Encoding)。制定编码首先要确定字符集,并将字符集内的字符排序,然后和二进制数字对应起来。根据字符集内字符的多少,会确定用几个字节来编码。每种编码都限定了一个明确的字符集合,叫做被编码过的字符集(Coded Character Set),这是字符集的另外一个含义。通常所说的字符集大多是这个含义。
因为制定编码的同时往往也制定了字符集,所以经常把字符集和编码混为一谈,具体区分细节不用细究。
二、通用字元集(Universal Character Set,UCS)
通用字元集(Universal Character Set,UCS)是由ISO制定的ISO10646(或称ISO/IEC 10646)标准所定义的字元编码方式,采用4字节编码。又称Universal Multiple-Octet Coded Character Set,大陆译为通用多八位编码字符集,臺湾译为广用多八位元编码字元集。
表示一个UCS或Unicode值的十六进位数通常在前面加上「U+」,例如「U+0041」代表字元「A」。
通用字元集是所有包括了其他字元集。它保证了与其他字元集的双向相容,即,如果你将任何文本字元串翻译到UCS格式,然後再翻译回原编码,你不会丢失任何信息。
三、unicode
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。随着计算机工作能力的增强,Unicode也在面世以来的十多年里得到普及。
2006年6月的最新版本的 Unicode 是 2005年3月31日推出的Unicode 4.1.0 。另外,5.0 Beta已于2005年12月12日推出,以供各会员评价。
Unicode 的编码和实现
大概来说,Unicode 编码系统可分为编码方式和实现方式两个层次。
1.编码方式
Unicode 的编码方式与 ISO 10646 的通用字元集(亦称[通用字符集])(Universal Character Set,UCS)概念相对应,目前的用于实用的 Unicode 版本对应于 UCS-2,使用16位的编码空间。也就是每个字符占用2个字节。
2.实现方式
Unicode 的实现方式不同于编码方式。一个字符的 Unicode 编码是确定的。但是在实际传输过程中,由于不同系统平台的设计不一定一致,以及出于节省空间的目的,对 Unicode 编码的实现方式有所不同。Unicode 的实现方式称为Unicode转换格式(Unicode/UCS Transformation Format,简称为 UTF)。
Unicode 的实现方式还包括 UTF-7、Punycode、CESU-8、SCSU、UTF-32等,这些实现方式有些仅在一定的国家和地区使用,有些则属于未来的规划方式。目前通用的实现方式是 UTF-16小尾序(BOM)、UTF-16大尾序(BOM)和 UTF-8。
UCS 和 Unicode 只是分配整数给字符的编码表,UTF-8、UTF-16、CESU-8等则指定了如何存储!
相关文章推荐
- 【编码】字符集与编码意义与关系、java编程编码问题相关学习笔记
- H264学习笔记(3):CAVLC基于上下文自适应的可变长编码
- Python Web 开发学习 - 学习笔记(4)- Python的编码规则
- Python学习笔记,数据类型,编码等
- 61.笔记 MySQL学习——字符串类型与字符集
- FreeRTOS系列学习笔记一---FreeRTOS编码标准及风格指南
- 【学习笔记】字符串和编码
- 字符集学习研究笔记
- idf实验室 天罗地网 一种编码而已 学习笔记
- PHP学习笔记之字符串编码的转换和判断
- ASN.1编码学习笔记一
- MYSQL学习笔记(二十三)字符集和校对
- 各种编码UNICODE、UTF-8、ASCII学习笔记
- 转:字符集和字符编码学习笔记
- 学习笔记:Java Protocol Buffer的使用和编码原理学习
- Python3学习笔记【基础2--输出,输入,格式化,编码】
- ITCAST视频-Spring学习笔记(编码剖析Spring管理Bean的原理)
- ITCAST视频-Spring学习笔记(编码剖析Spring依赖注入的原理)
- 流媒体技术学习笔记之(六)FFmpeg官方文档先进音频编码(AAC)