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.