筆記二 python2編碼詳解

2022-04-24 19:41:19 字數 2091 閱讀 8398

一:學習內容

二:python編碼講解

1. ascii編碼

美國資訊交換標準**(american standard code for information interchange,簡稱ascii)是一種用於資訊交換的美國標準**,它的作用是給英文本母、數字、標點、 字元轉換成計算機能識別的二進位制數規定了乙個大家都認可並遵守的標準。

ascii表:

數字範圍為:48—57

大寫字母範圍為:65—90

小寫字母範圍為:97—122

2. gb2312編碼:適用於漢字處理、漢字通訊等系統之間的資訊交換

3. gbk編碼:是漢字編碼標準之一,是在 gb2312-80 標準基礎上的內碼擴充套件規範,使用了雙位元組編碼

4. ansi:是與你使用的windows作業系統的語言有關係的,像windows 7 簡體中文版就是gbk(用乙個位元組表示英文,用兩個位元組表示乙個中文)

5. unicode編碼

這是一種世界上所有字元的編碼,但是它沒有規定的儲存方式。unicode標準也在不斷發展,但最常用的是用兩個位元組表示乙個字元(如果要用到非常偏僻的字元,就需要4個位元組)。現代作業系統和大多數程式語言都直接支援unicode。

6. utf-8編碼

是 unicode transformation format - 8 bit 的縮寫, utf-8 是 unicode 的一種實現方式。它是可變長的編碼方式,可以使用 1~4 個位元組表示乙個字元,可根據不同的符號而變化位元組長度。

可以這麼理解:

unicode包括了utf-8,utf-8包括了gbk,gbk包括了gb2312

三:python編碼說明

1. gb2312和gbk編碼

gb2312和gbk主要用於漢字的編碼,一般中國的網頁gb2312或utf-8用的比較多,如果你的網頁主要面對使用漢語的中國人的話,使用gb2312和gbk會非常友好,但是如果你要面向世界,可能在有些電腦的瀏覽器上沒有這種編碼,那麼網頁的漢字內容就會變得無法識別而亂碼。

2. gb指國標的意思

3. ascii碼計算機開始是老美發明的,只支援英文,但是隨著計算機發展,全世界其他國家也想用,所以發明了unicode編碼,支援世界上所有的語言。

4. utf-8一般在計算機中做儲存使用,全世界通用,所有電腦都有。

5. windows系統中檔案儲存時選擇ansi,其實就是儲存為gbk編碼

6. utf-8和gbk(gb2312)之間都必須通過unicode才能轉換

gbk、

gb2312----unicode----utf-8

utf-8----unicode----gbk、

gb2312

四:python中文亂碼解決三步曲

1. 第一步:檔案報存為utf-8

2. 第二步:新增encoding=utf-8

3. 第三步:中文前加u

注意此處的u為

unicode

的意思結果:就列印出了不是亂碼的中文

Python2編碼問題

以下內容說的都是 python 2.x 版本 我們看到的輸入輸出都是 字元 characters 計算機 程式 並不能直接處理,需要轉化成位元組資料 bytes 因為程式只能處理 bytes 資料。例如 檔案 網路傳輸等,處理的都是 bytes 資料 二進位制數字。孤立的 byte 是毫無意義的,所...

Python2編碼問題

以下內容說的都是 python 2.x 版本 我們看到的輸入輸出都是 字元 characters 計算機 程式 並不能直接處理,需要轉化成位元組資料 bytes 因為程式只能處理 bytes 資料。例如 檔案 網路傳輸等,處理的都是 bytes 資料 二進位制數字。孤立的 byte 是毫無意義的,所...

python2 編碼問題

coding utf 8 import sys reload sys sys.setdefaultencoding utf8 第一行是讓 以utf8格式解析 後面三行是讓python直譯器在decode時候用utf8進行decode 這樣所有字串都是utf8的了,如果遇到非utf8字串可以用deco...