字型編碼介紹

2021-06-27 02:41:44 字數 1657 閱讀 9701

ascii碼

ascii碼一共規定了128個字元的編碼,對英語字元與二進位制位之間的關係,做了統一規定。這128個符號(包括32個不能列印出來的控制符號),只占用了乙個位元組的後面7位,最前面的1位統一規定為0。

非ascii編碼

不同的國家有不同的字母,哪怕都使用256個符號的編碼方式,代表的字母卻不一樣。不過,在所有這些編碼方式中,0-127表示的符號是一樣的,不一樣的知識128-255的這一段。

簡體中文常見的編碼方式是gb2312(只針對win簡體中文版),使用兩個位元組表示乙個漢字,所以理論上最多可以表示256*256=65536個符號。

unicode

unicode碼:一種所有符號的編碼。每乙個符號的編碼都被賦予獨一無二的編碼。

注:unicode只是乙個符號集,只規定了符號的二進位制**,卻沒有規定這個二進位制**應該如何儲存(計算機如何區分unicode和ascii等)。造成的結果:

出現了unicode的多種儲存方式,即,有許多種不同的二進位制格式,可以用來表示unicode;

unicode在很長一段時間內無法推廣,直到網際網路的出現。

utf-8

utf-8就是在網際網路上使用最廣的一種unicode的實現方式(只是眾多實現方式之一)。

utf-8最大的乙個特點:一種變長的編碼方式。可以使用1~4個位元組表示乙個符號,根據不同的符號而變化位元組長度。

utf-8編碼規則:

對於但單位元組的符號,位元組的第一位設為0,後面7位為這個符號的unicode碼。(對於英語字母,utf-8編碼和ascii碼是相同的);

對於n位元組的符號(n>1),第乙個位元組的前n位都設為1,第n+1位設為0,後面位元組的前兩位一律設為10。剩下的沒有提及的二進位制位,全部為這個符號的unicode碼。

little endian 和 big endian

unicode編碼指的是ucs-2編碼方式,即直接用兩個位元組存入字元的unicode碼。用的little endian格式。

unicode big endian編碼與unicode相對應。

unicode規範中定義,每乙個檔案的最前面分別加入乙個表示編碼順序的字元,這個字元的名字叫做「零寬度非換行空格」(zero width no-break space),用feff表示,正好是兩個位元組,且ff比fe大1。

如果乙個文字檔案的頭兩個位元組是feff,表示該檔案採用大頭方式;如果頭兩個位元組是fffe,就表示該檔案採用小頭方式。

例項開啟」記事本「程式notepad.exe,新建乙個文字檔案,內容就是乙個」嚴「字,依次採用ansi,unicode,unicode big endian 和 utf-8編碼方式儲存。

然後,用文字編輯軟體ultraedit中的」十六進製制功能「,觀察該檔案的內部編碼方式。

1)ansi:檔案的編碼就是兩個位元組「d1 cf」,這正是「嚴」的gb2312編碼,這也暗示gb2312是採用大頭方式儲存的。

2)unicode:編碼是四個位元組「ff fe 25 4e」,其中「ff fe」表明是小頭方式儲存,真正的編碼是4e25。

3)unicode big endian:編碼是四個位元組「fe ff 4e 25」,其中「fe ff」表明是大頭方式儲存。

4)utf-8:編碼是六個位元組「ef bb bf e4 b8 a5」,前三個位元組「ef bb bf」表示這是utf-8編碼,後三個「e4b8a5」就是「嚴」的具體編碼,它的儲存順序與編碼順序是一致的。

Zend Stuido 設定字型編碼

在zendstudio ide中,你是否碰到匯入乙個專案後,發現專案中檔案的原始編碼和目前工程中設定的預設讀取編碼是不一致的。現象就是這樣子的 匯入乙個工程後,發現工程裡面很多的檔案都打上了紅色的叉叉,開啟這些檔案一看,發現只要是有漢字存在的檔案,都出現了亂碼。接著你按住alt enter發現,該檔...

字元編碼和字型

編碼 你有個小盒子,裡面裝了 256 枚印章,每一枚都有編號。你參加了學校的 印章密碼愛好者興趣小組 裡面有個外國來的小女孩,經常跟你玩乙個遊戲,比如你問 今年暑假你去了 她回答說 78,89,67 因為你們都如此熟悉自己的印章,你一下子就明白了她說的是 nyc 那你出生在 呢?你問。她遲疑了一下,...

Android Studio設定字型 編碼格式

1.中文亂碼顯示解決 2.顯示行號3.讓編輯視窗支援ctr 滑鼠左鍵縮放修改字型大小 settings editor mouse選項欄中勾選 change font size zoom with ctrl mouse wheel 4.修改主題和字型 大小 settings editor colors...