Unicode編碼方式的理解

2021-09-02 17:37:02 字數 887 閱讀 8674

unicode簡單來說就是對世界上所有的字元進行了統一的編碼。

1:unicode和非unicode的區別

unicode字串:(1)nchar:n個字元的固定長度的unicode字元資料。n值必須在1~4000之間。儲存大小為兩倍的n位元組。

unicode用法和普通字串的用法一致,但是unicode支援的字元範圍更大,儲存unicode字元所需要的空間更大。

unicode資料:unicode標準為全球商業鄰域中廣泛使用的大部分字元定義了乙個單一編碼方案。所有計算機都用單一的unicode標準unicode資料中的位模式一致的翻譯成字元。這保證了同乙個位模式在所有的計算機上總是轉換成同乙個字元。資料可以隨意的從乙個資料庫或者計算機傳送到另乙個資料庫或計算機,而不用擔心接收系統是否會錯誤地翻譯位模式。

unicode規格通過採用兩個位元組編碼每個字元。

utf-8編碼方式

最大地特點就是可變長。它可以使用1-4個位元組表示乙個字元,根據字元的不同變換長度編碼規則如下:

1:對於單個位元組的字元,第一位設為0,後面的7位對應這個字元的unicode碼點。因此,對於英文中的0-127號字元,與ascii碼完全相同。這意味著ascii碼那個年代的文件用utf-8編碼開啟完全沒有問題。

2:對於需要使用n個位元組來表示的字元(n>1),第乙個位元組的前n位都設為1,第n+1位設為0,剩餘的n-1個位元組的前兩位都設為10,剩下的二進位制位則使用這個字元的unicode碼點來填充。

utf-16編碼方式:

utf-16編碼介於utf-32與utf-8之間,同時結合了定長和變長兩種編碼方式的特點。它的編碼規則很簡單:基本平面的字元占用2個位元組,輔助平面的字元占用4個位元組。也就是說,utf-16的編碼長度要麼是2個位元組(u+0000到u+ffff),要麼是4個位元組(u+010000到u+10ffff)。

從ord 中對Unicode編碼的理解

剛開始學習程式設計的時候,老對字串編碼的理解模模糊糊。也一直看這方便的資料,今天在看dive in python時,突然有了新的理解 不知道是否正確 python有個built in函式ord 返回乙個字元的unicode值。這個函式並沒有其他引數,那就是說,給定乙個字元,就會有乙個特定值對應。跟具...

字元編碼 unicode編碼

1.ascii american standard code for information interchange 美國資訊交換標準 這是計算機上最早使用的通用的編碼方案。那個時候計算機還只是拉丁文本的專利,根本沒有想到現在計算機的發展勢頭,如果想到了,可能一開始就會使用unicode了。當時絕大...

unicode 編碼雜記

unicode,統一碼,可包含世界上所有國家的字元,每乙個字元用兩個位元組表示!utf 16,基本上就是unicode雙位元組編碼方式的實現,再加上乙個未來擴充套件需求的編碼機制 utf 8,unicode的不等幅編碼機制,英文保持不變,其他用兩個或三個位元組表示,如中文用三個位元組表示 ucs 2...