字元編碼簡單術語解釋

2022-07-08 00:54:18 字數 3953 閱讀 7016

字元編碼

碼元抽象字元表(abstract character repertoire)

編碼字符集(ccs:coded character set)

編碼空間(encoding space)

碼位(code point)

碼位值(code point value)

字元編碼表(cef:character encoding form)

字元編碼方案(ces:character encoding scheme)

傳輸編碼語法(transfer encoding syntax)

unicode編碼

unicode的編碼和實現

編碼方式

實現方式

utf-8

以下的內容全部**於維基百科中文版中的摘抄

字元編碼(character encoding),字元對映(character map),字符集(character set)或者**頁,在歷史上是同義概念

。也就是字元表(repertoire)中的字元如何編碼為碼元的流——通常是每個字元對應單個碼元。

碼元

英文名稱(code unit, 也稱「**單元」),是指乙個已編碼的文字中具有最短的位元組合的單元。例如:utf-8的碼元是8比特長;utf-16的碼元是16比特長;utf-32的碼元是32比特長;

抽象字元表(abstract character repertoire)

乙個系統支援的所有抽象字元的集合。

編碼字符集(ccs:coded character set)

將字符集中每個字元對映到乙個整數值的座標(x, y)或者表示為乙個非負整數(n)。字符集及碼位對映稱為編碼字符集。

編碼空間(encoding space)

包含所有字元的表的維度。可以用一對整數或者乙個整數來描述。

.

碼位(code point)

編碼空間中的乙個位置稱為碼位。

碼位值(code point value)

乙個字元所占用的碼位稱為碼位值。

字元編碼表(cef:character encoding form)

也稱為"storage format",將編碼字符集的非負整數值(抽象的碼位)轉換成有限位元長度的整型值(碼元)的序列。

字元編碼方案(ces:character encoding scheme)

也稱作「serialization format」。將定長的整型值(碼元)對映到8位位元組序列,以便編碼後的資料的檔案儲存或者網路傳輸。

傳輸編碼語法(transfer encoding syntax)

用於處理上一層次的字元編碼方案提供的位元組序列。一般其功能包括兩種:一是吧位元組序列的值對映到一套更受限制的值域內,以滿足傳輸環境的限制;另一種是壓縮位元組序列的值。

參考:

維基百科中文版(字元編碼)

中文稱萬國碼、國際碼、統一碼、單一碼,是電腦科學領域的業界標準。

在文書處理方面,統一碼為每乙個字元而非字形定義唯一的**(即乙個整數,也就是碼元)。統一碼以一種抽象的方式(即數字)來處理字元,並將視覺上的演繹工作(例如字型大小、外觀形狀、字型形態、文體等)留給其他軟體來處理,例如瀏覽器或文字處理器。

在表示乙個unicode的字元時,通常會用 「u+」 然後緊接著一組十六進製制的數字來表示乙個字元。在基本多文種平面(英語: basic multilingual plane, 簡寫 bmp。又稱為 「零號平面」、plane 0)裡的所有字元,要用四個數字(2個位元組,共16位元,共支援6萬多個字元,例如 u+4ae0)

;在零號平面以外的字元則需要使用五或六個數字

。在unicode 3.0裡使用「u-」然後緊接著八個數字,而「u+」則必須隨後緊接著四個數字。

unicode的編碼和實現

大概來說,unicode編碼系統可分為編碼方式

實現方式

兩個層次。

編碼方式

目前實際應用的統一碼版本對應於 ucs-2,使用16比特長(位)的編碼空間

。也就是每個字元占用2個位元組

。這樣理論上一共最多可以表示2^16(即65536)個字元。基本滿足各種語言的使用。實際上當前版本的統一碼並未完全使用這16位編碼,而是保留了大量空間以作為特殊使用或將來擴充套件。

上述的16位統一碼字元構成基本多文種平面。最新(但未實際廣泛使用)的統一碼版本定義了16個輔助平面,兩者合起來至少需要佔據21位的編碼空間。但事實上輔助平面字元仍然占用4個位元組編碼空間,與 ucs-4 保持一致。ucs-4是更大而尚未填充完全的31位字符集,加上恒為0的首位,共需佔據32位,即4位元組。

基本多文種平面的字元的編碼位 u+hhhh,其中每個h代表乙個十六進製制數字,與 ucs-2 編碼完全相同。而其對應的4位元組 ucs-4 編碼後兩個位元組一致,前兩個位元組則所有位均為0。

ucs-2 是代表16比特長(2個位元組)的固定長度的編碼;ucs-4是代表32比特長(4個位元組)的固定長度的編碼。

實現方式

unicode的實現方式不同於編碼方式。乙個字元的unicode編碼確定。但是再實際傳輸過程中,由於不同系統平台的設計不一定一致,以及出於節省空間的目的,對unicode編碼的實現方式有所不同。

unicode的實現方式稱為unicode轉換格式(unicode transformation format, 簡稱為 utf)

除了上面的編碼外,unicode的實現方式還包括utf-7、cesu-8、utf-32、gb18030等。目前通用的實現方式是utf-16小端序(le)、utf-16大端序(be)和utf-8。

參考:

維基百科中文版(unicode編碼)

utf-8

utf-8(8-bit unicode transformation format)是一種針對 unicode 的可變長度字元編碼,也是一種字首碼。它可以用一至四個位元組對unicode字符集中的所有有效編碼點進行編碼,屬於 unicode 標準的一部分。

utf-8使用一至六個位元組為每個字元編碼(儘管如此,2023年11月utf-8被rfc 3629重新規範,只能使用原來unicode定義的區域,u+0000到u+10ffff,也就是說最多四個位元組)

128個us-ascii字元只需乙個位元組編碼(unicode範圍由u+0000至u+007f)。

帶有附加符號的拉丁文、希臘文、西里爾字母、亞美尼亞語、希伯來文、阿拉伯文、敘利亞文及它拿字母則需要兩個位元組編碼(unicode範圍由u+0080至u+07ff)。

其他基本多文種平面(bmp)中的字元(這包含了大部分常用字,如大部分的漢字)使用三個位元組編碼(unicode範圍由u+0800至u+ffff)。

其他極少使用的unicode 輔助平面的字元使用四至六位元組編碼(unicode範圍由u+10000至u+1fffff使用四位元組,unicode範圍由u+200000至u+3ffffff使用五位元組,unicode範圍由u+4000000至u+7fffffff使用六位元組)。

詳細的編碼實現請閱讀下面的鏈結 
LCD 術語解釋

lcd 術語解釋 1.色彩數 顯示色彩就是螢幕上最多顯示多少種顏色的總數。對螢幕上的每乙個畫素來說,256種顏色要用8位二進位制數表示,即2的8次方,因此我們也把256色圖形叫做8點陣圖 如果每個畫素的顏色用16位二進位制數表示,我們就叫它16點陣圖,它可以表達2的16次方即65536種顏色 還有2...

Kafka術語解釋

前一篇文章介紹了如何使用kafka收發訊息,但是對於kafka的核心概念並沒有詳細介紹,這裡將會對包括kafka基本架構以及消費者 生產者api涉及的術語進行說明。了解這些術語有助於更深入理解kafka。假如乙個消費者組有兩個消費者,訂閱了乙個具有4個分割槽的topic的訊息,那麼這個消費者組的每乙...

網路術語解釋

躍點 即 路由。乙個 路由為乙個躍點。傳輸過程中需要經過多個網路,每個被經過的網路裝置點 有能力 路由的 叫做乙個躍點,位址就是它的ip。躍點數是經過了多少個躍點的 累加器,為了防止無用的資料報在網上流散。為 路由指定所需躍點數的整數值 範圍是 1 9999 它用來在 路由表裡的多個路由中選擇與 包...