python中的字元編碼問題

2022-03-17 02:44:50 字數 846 閱讀 4069

ascii碼和字元之間的轉換:

gbk2312(6700多漢字) --> gbk1.0(2023年推出,20000餘漢字) --> gbk18030 (2023年推出,27000餘漢字)

unicode(統一碼、萬國碼、單一碼)是電腦科學領域裡的一項業界標準,包括字符集、編碼方案等。unicode 是為了解決傳統的字元編碼方案的侷限而產生的,它為每種語言中的每個字元設定了統一並且唯一的二進位制編碼,以滿足跨語言、跨平台進行文字轉換、處理的要求。2023年開始研發,2023年正式公布。支援所有的國家和地區的編碼;2**16次方即支援65535個字元位;所有字元統一占用2個位元組;

utf-8(8-bit unicode transformation format)是一種針對unicode的可變長度字元編碼,又稱萬國碼。由ken thompson於2023年建立。現在已經標準化為rfc 3629。utf-8用1到6個位元組編碼unicode字元。原本西方國家的ascii字元占用乙個字元,改用unicode之後,變成了2個字元,為了解決占用記憶體空間的問題,才產生了utf-8字符集。統一規定,原本ascii的字元占用乙個位元組,歐洲國家(德語等)占用2個位元組,東亞國家的占用3個位元組。

python2中,預設字元編碼為ascii

python3中,預設字元編碼為unicode;檔案預設編碼是utf8

例如(python3中):

"hello world".encode('utf8')        # 指定encode到utf8編碼格式;python3中預設的unicode的;
python3 除了把字串的預設編碼改成了unicode, 還把 str 和 bytes 做了明確區分, str 就是unicode格式的字元, bytes就是單純二進位制;

python中的字元編碼問題

總結python的字元編碼 應該在 最初兩行內包含 usr bin env python coding utf 8 獲得 設定系統的預設編碼 sys.getdefaultencoding sys.setdefaultencoding utf 8 獲得檔案系統的檔名的編碼 sys.getfilesys...

Python中的字元編碼問題

寫之前必須先吐槽一句,字元編碼問題真是讓人頭疼啊啊啊啊!這是美國標準資訊交換碼,用8位表示乙個字元,當然用這種方式表示所有的英文本母是完全夠用了,多餘的還能用來表示控制字元,標點符號等這些特殊字元。但是,當其他民族的語言也想被儲存到計算機中時,這種表示方式就完全不夠用了。非英語民族為了滿足自己的語言...

python的字元編碼問題

最近因為專案需要用到python指令碼,趕緊學習了一下。今天碰到乙個問題,做下筆記。就是出現類似 non utf 8 code starting with xb6 in file xx.py 這樣的報錯,錯誤原因網上都有解釋 是python的檔案編碼問題,因此根據官方提示,需要加入 coding 你...