python 字元編碼資料型別轉換

2022-09-19 22:36:10 字數 1880 閱讀 4742

字符集

介紹ascii

ascii 碼使用指定的7 位或8 位二進位制數組合來表示128 或256 種可能的字元

ansi

ansi是一種字元**,為使計算機支援更多語言,通常使用 0x00~0x7f 範圍的1 個位元組來表示 1 個英文本元。超出此範圍的使用0x80~0xffff來編碼,即擴充套件的ascii編碼。不同的國家和地區制定了不同的標準,由此產生了 gb2312、gbk、gb18030、big5、shift_jis 等各自的編碼標準。這些使用多個位元組來代表乙個字元的各種漢字延伸編碼方式,稱為 ansi 編碼。在簡體中文windows作業系統中,ansi 編碼代表 gbk 編碼;在正體中文windows作業系統中,ansi編碼代表big5;在日文windows作業系統中,ansi 編碼代表 shift_jis 編碼。

utf-8

utf-8(8-bit unicode transformation format)是一種針對unicode的可變長度字元編碼(定長碼),也是一種字首碼。它可以用來表示unicode標準中的任何字元,且其編碼中的第乙個位元組仍與ascii相容,這使得原來處理ascii字元的軟體無須或只須做少部份修改,即可繼續使用。因此,它逐漸成為電子郵件、網頁及其他儲存或傳送文字的應用中,優先採用的編碼。網際網路工程工作小組(ietf)要求所有網際網路協議都必須支援utf-8編碼。

unicode

unicode是國際組織制定的可以容納世界上所有文字和符號的字元編碼方案。目前的unicode字元分為17組編排,0x0000 至 0x10ffff,每組稱為平面(plane),而每平面擁有65536個碼位,共1114112個。然而目前只用了少數平面。utf-8、utf-16、utf-32都是將數字轉換到程式資料的編碼方案。

unicode通常用兩個位元組表示乙個字元,原有的英文編碼從單位元組變成雙位元組,只需要把高位元組全部填為0就可以。

gbkgbk編碼,是在gb2312-80標準基礎上的內碼擴充套件規範,使用了雙位元組編碼方案,其編碼範圍從8140至fefe(剔除xx7f),共23940個碼位,共收錄了21003個漢字,完全相容gb2312-80標準,支援國際標準iso/iec10646-1和國家標準gb13000-1中的全部中日韓漢字,幷包含了big5編碼中的所有漢字。gbk編碼方案於2023年10月制定, 2023年12月正式發布,目前中文版的win95、win98、[windows nt]( nt)以及windows 2000、windows xp、win 7等都支援gbk編碼方案。

gb18030

gb 18030,全稱《資訊科技 中文編碼字符集》,是中華人民共和國國家標準所規定的變長多位元組字符集。其對gb 2312-1980完全向後相容,與gbk基本向後相容,並支援unicode(gb 13000)的所有碼位。gb 18030共收錄漢字70,244個。

gb 18030主要有以下特點:

採用變長多位元組編碼,每個字可以由1個、2個或4個位元組組成。

編碼空間龐大,最多可定義161萬個字元。

完全支援unicode,無需動用造字區即可支援中國國內少數民族文字、中日韓和繁體漢字以及emoji等字元。

gb2312

gb 2312標準共收錄6763個漢字,其中一級漢字3755個,二級漢字3008個;同時收錄了包括拉丁字母、希臘字母、日文平假名及片假名字母、俄語西里爾字母在內的682個字元。

gb 2312的出現,基本滿足了漢字的計算機處理需要,它所收錄的漢字已經覆蓋中國大陸99.75%的使用頻率。但對於人名、古漢語等方面出現的罕用字和繁體字,gb 2312不能處理,因此後來gbk及gb 18030漢字字符集相繼出現以解決這些問題。

text = " 字串"

text.encode("gbk")

​ unicdoe【真正的完整碼表】對照表(二)漢字unicode表

unicode一覽表 f000-ffff

WPF Silverlight程式編碼資料收集

一.獲取路徑資訊 序路徑的,應該這樣用 mycollection system curdirectory system.io.path.getdirectoryname process.getcurrentprocess mainmodule.filename 二 獲取silverlight.web...

Huffman編碼 資料結構

include include include class data typedef class huffman huffmantree typedef char huffmancode 在陣列中選擇兩個小的權的資料 void select int tw,int n,int s1,int s2 te...

php iconv轉編碼 資料丟失的解決方法

今天在處理抓取內容的時候,當採用iconv進行編碼轉換的時候,發現結果會中斷,猜是字符集的問題,考慮怎麼跳過目標字符集不存在的字元,查手冊發現iconv的函式只有三個引數,好像不行,然後查網上有人說可以,但是很奇怪怎麼實現,最後發現英文描述有說可以加標識到目標編碼後面 translit 很鬱悶怎麼加...