Remove ads
来自维基百科,自由的百科全书
字符编码(英語:Character encoding)、字碼、字集碼是把字符集中的字符为指定集合中某一对象(例如:位元模式、自然数序列、八位元或者电脉冲),以便文本在计算机中存储和通过通信网络的传递。
此條目需要补充更多来源。 (2014年2月6日) |
純就字面解釋,這些術語是有不同的概念,但在許多的中文語境,這些術語會混用,有相同的概念。字符集,是指「字符的集合」,如中文字符集、英文字符集,不牽涉到編碼。字符編碼、字集碼、字碼,則是「對於某個字符集,為其字符編碼」,根據語義,有時指單一字符的編碼,有時是指全部字符的編碼。
在計算機支援語言、文字的過程中,要支援某個文字,必然要搜集所使用的字符,為其編碼,因此,初期並未區分字符集和字符編碼的不同。譬如,大五碼、國標碼、ASCII既指字符集,又指針對此字符集的編碼方式。在統一碼之後,則細分字符集和編碼形式的不同。同一個字符集,可以有不同的編碼形式,如UTF-8、UTF-16。
常见的例子包括将拉丁字母表编码成摩斯电码和ASCII。其中,ASCII将字母、数字和其它符号編號,並用7位元的二进制來表示这个整数。通常會額外使用一个扩充的位元,以便于以1个字节的方式存储。
在计算机技术发展的早期,如ASCII(1963年)和EBCDIC(1964年)这样的字符集逐漸成為標準。但这些字符集的局限很快就变得明显,于是人们开发了許多方法来扩展它们。对于支持包括东亚CJK字符家族在内的写作系统的要求能支持更大量的字符,并且需要一种系统而不是临时的方法实现这些字符的编码。
有時,為強調其所使用的方式而使用其他術語,譬如:為說明「電腦系統『內部』 處理文字資料所使用的字符編碼」時,會使用內碼。為「不同電腦系統之間,為了『交換』資料所採用的字符編碼」時,會使用交換碼。
按照惯例,人们认为字符集和字符编码是同义词,因为使用同样的标准来定义提供什么字符并且这些字符如何编码到一系列的代码单元(通常一个字符一个单元)。由于历史的原因,MIME和使用这种编码的系统使用术语字符集来表示用于将一组字符编码成一系列八位字节数据的整个系统。
由統一碼和通用字符集所構成的现代字符编码模型則没有跟从简单字符集的观点。它们将字符编码的概念分为:有哪些字符、它们的编号、这些编号如何编码成一系列的“码元”(有限大小的数字)以及最后这些单元如何組成八位字节流。區分這些概念的核心思想是建立一个能够用不同方法來编码的一个通用字符集。为了正确地表示这个模型需要更多比“字符集”和“字符编码”更为精确的术语表示。在Unicode Technical Report (UTR) #17中,现代编码模型分为5个层次,所用的术语列在下面:
高层机制(higher level protocol)提供了额外信息,用于选择Unicode字符的特定变种,如XML属性xml:lang
字符映射(character map)在Unicode中保持了其传统意义:从字符序列到编码后的字节序列的映射,包括了上述的CCS, CEF, CES层次。
术语字符编码(character encoding),字符映射(character map),字符集(character set)或者代码页,在历史上往往是同义概念,即字符表(repertoire)中的字符如何编码为码元的流(stream of code units)–通常每个字符对应单个码元。
码元(Code Unit,也称「代码单元」)是指一个已编码的文本中具有最短的比特组合的单元。对于UTF-8来说,码元是8比特长;对于UTF-16来说,码元是16比特长;对于UTF-32来说,码元是32比特长[1]。码值(Code Value)是过时的用法。
代码页通常意味着面向字节的编码,但强调是一套用于不能语言的编码方案的集合.著名的如"Windows"代码页系列,"IBM"/"DOS"代码页系列.
IBM的字符数据表示体系(Character Data Representation Architecture - CDRA)与编码字符集标识符(coded character set identifiers - CCSIDs) 常常把charset, character set, code page, or CHARMAP等类似意义的术语混用.
Unix或Linux不使用代码页概念,它们用charmap,比locales具有更广泛的含义.
与上文的编码字符集(Coded Character Set - CCS)不同,字符编码(character encoding)是从抽象字符到代码字(code word)的映射. HTTP(与MIME)的用法中,字符集(character set)与字符编码同义,但与CCS不是一个意思.
尤其是漢字編碼。
由于有很多种字符编码方法被使用,从一种字符编码转换到另一种,需要一些工具。
跨平台:
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.