utf-8 和 cp936的區別

鏈接:https://www.zhihu.com/question/35609295/answer/63780022
來源:知乎
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。

CP936和UTF-8本身和Python是毫無關聯的。
CP936其實就是GBK,IBM在發明Code Page的時候將GBK放在第936頁,所以叫CP936。

至於GBK,百度百科就說的很清楚了:GBK全稱《漢字內碼擴展規範》(GBK即“國標”、“擴展”漢語拼音的第一個字母,英文名稱:Chinese Internal Code Specification) ,中華人民共和國全國信息技術標準化技術委員會1995年12月1日製訂,國家技術監督局標準化司、電子工業部科技與質量監督司1995年12月15日聯合以技監標函1995 229號文件的形式,將它確定爲技術規範指導性文件。這一版的GBK規範爲1.0版。
而UTF-8: UTF-8(8-bit Unicode Transformation Format)是一種針對Unicode的可變長度字符編碼,又稱萬國碼。由Ken Thompson於1992年創建。現在已經標準化爲RFC 3629。UTF-8用1到6個字節編碼UNICODE字符。用在網頁上可以同一頁面顯示中文簡體繁體及其它語言(如英文,日文,韓文)。

所以GBK和UTF-8簡單的來說,區別就是編碼方式不同,表示的文字範圍不同。(UTF-8能表示更多的語言文字,更加通用)在Python裏面,你需要注意你Python本身是否聲明瞭字符編碼類型(尤其是Py 2x),例如:#-- coding: UTF-8 --
以及,你是如何從外部文件或者網頁讀入字符的,他們的源編碼類型是什麼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章