python3漢字編碼 Python3的編碼總結

2021-10-16 21:10:51 字數 655 閱讀 9799

python3編碼結論:

python3的字串在記憶體中是用unicode(佔空間和頻寬)儲存的,所以不能直接用於儲存,傳輸。要通過其它編碼轉換成相對應的位元組碼

str ----encode--->byte

byte----decode--->str

常見的編碼

編碼是美國最先發明的,最先出來的是ascii編碼,最早計算機在設計時採用8個位元(bit)作為乙個位元組(byte),所以乙個位元組能表示的最大的整數就是255(二進位制11111111=十進位制255),如果要表示更大的整數,就必須用更多的位元組;

陸續大多國家都有自己的編碼;

unicode把所有語言統一在一套編碼裡,但unicode是不可變長的編碼,如果是純英文的文章儲存,占用的儲存空間、傳輸頻寬比ascii大一倍;

最終衍生出utf-8可變長編碼

2. gbk編碼:是漢字編碼(含英文本母,數字,標點,字元部分)標準之一,是在 gb2312-80 標準 基礎上的內碼擴充套件規範,使用了雙位元組編碼

3. unicode編碼:覆蓋世界上所有字元的編碼,最常用的是用 兩個位元組表示乙個字元(如果要用到非常偏僻 的字元,就需要4個位元組)

4. utf-8編碼:utf-8相容ascii,是可邊長的字串,節省空間和頻寬

記事本儲存-》讀取

伺服器 -》瀏覽器

python 漢字編碼

note1,json.dumps 因為json.dumps 序列化時對中文預設使用的ascii編碼.想輸出真正的中文需要指定ensure ascii false import json print json.dumps 中文 ensure ascii false note2,json.loads 載...

python 漢字編碼問題

問題描述 我要判斷的兩個字串是否相等 區站號 區站號 第乙個值是我從txt檔案匯入的資料,第二個值是我自己定義的並使用decode utf 8 得到的,如果你用print函式列印這兩個變數,則都是 區站號 但是if語句判斷,這兩個值是不相等的。用直接顯示的方式,u u533a u7ad9 u53f7...

漢字編碼問題

漢字編碼問題 由於常常要和漢字處理打交道,因此,我常常受到漢字編碼問題的困擾。在不斷的打擊與堅持中,也積累了一點漢字編碼方面的經驗,想和大家一起分享。一 漢字編碼的種類 漢字編碼中現在主要用到的有三類,包括gbk,gb2312和big5。1 gb2312又稱國標碼,由國家標準總局發布,1981年5月...