本篇內容介紹了“python幾種編碼格式的介紹以及設置編碼格式的方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
計算機存儲數據是用0、1存儲的,為了存儲英文字符等,所以出現了一個ASCII編碼表,通過這個表就是把對應的英文轉換對應為相應的0、1數據存儲到計算機,但是英文只有26個字母,中文有6萬多漢字,ASCII編碼不夠,所以根據需要就出現了unicode、utf-8等編碼,實際可以理解為它們把全球的文字編碼對應到計算機的0、1來存儲識別。
ASCII 碼使用指定的 7 位或 8 位二進制數組合來表示 128 或 256 種可能的字符。標準 ASCII 碼也叫基礎ASCII碼,使用 7 位二進制數來表示所有的大寫和小寫字母,數字 0 到 9、標點符號, 以及在美式英語中使用的特殊控制字符。其中:
0~31及127(共33個)是控制字符或通信專用字符(其余為可顯示字符),如控制符:LF(換行)、CR(回車)、FF(換頁)、DEL(刪除)、BS(退格)、BEL(振鈴)等。通信專用字符:SOH(文頭)、EOT(文尾)、ACK(確認)等;
ASCII值為 8、9、10 和 13 分別轉換為退格、制表、換行和回車字符。它們并沒有特定的圖形顯示,但會依不同的應用程序,而對文本顯示有不同的影響。
32~126(共95個)是字符(32sp是空格),其中48~57為0到9十個阿拉伯數字;
65~90為26個大寫英文字母,97~122號為26個小寫英文字母,其余為一些標點符號、運算符號等

Unicode是為了解決傳統的字符編碼的局限而產生的。對世界上大部分的文字系統進行了編碼、整理,使電腦可以更方便的處理和展示文字。Unicode采用16位編碼空間,每個字符占2個字節。Unicode的實現方式稱為Unicode轉換格式
Unicode碼擴展自ASCII字元集。在嚴格的ASCII中,每個字元用7位元表示,或者電腦上普遍使用的每字元有8位元寬。而Unicode使用全16位元字元集。這使得Unicode能夠表示世界上所有的書寫語言中可能用於電腦通訊的字元、象形文字和其他符號。
不同的編碼方式會造成亂碼問題,Unicode將世界上所有符號都納入其中。每一個符號都給予一個編碼,這樣就就解決了亂碼問題。Unicode現在的規??梢匀菁{100多萬個符號,每個符號的編碼都不一樣,例如U+4E0A表示上,U+4E0B表示下,具體的符號對應表可以查看: http://www.chi2ko.com/tool/CJK.htm
UTF全稱(Unicode Transformation Format),所以它是一種針對前面提到的Unicode的編碼格式,常見的格式就是 UTF-8,還有 UTF-16, UTF-32。
UTF-8 其中的 8 表示的是 8 bit,即Unicode中每8位表示一個字符,UTF-16 和 UTF-32 類似,因為Unicode最多才21位,32位大于21位,所以 UTF-32 的格式就可以表示所有字符對應的Unicode碼了,但是呢,32位也就是4字節,讓每個字符都占用4字節太費空間了,所以出現了UTF-8和UTF-16。
UTF-8 編碼規則如下:
| Unicode | bit | UTF-8 | byte |
|---|---|---|---|
| 0x0000 - 0x007f | 0 - 7 | 0XXX XXXX | 1 |
| 0x0080 - 0x07ff | 8 - 11 | 110X XXXX 10XX XXXX | 2 |
| 0x0800 - 0xffff | 12 - 16 | 1110 XXXX 10XX XXXX 10XX XXXX | 3 |
| 0x1 0000 - 0x1f ffff | 17 - 21 | 1111 0XXX 10XX XXXX 10XX XXXX 10XX XXXX | 4 |
每個字節中不足8位的,高位(左邊)先用0補上,比如 0XXXX XXXX;
超過兩字節表示的UTF-8,第一個字節高位添加兩個 1 和一個 0,后面的字節高位添加 10;
3字節和4字節同理,幾個字節高位就添幾個 1 再加上一個 0,其余字節高位添 10;
Python中默認的編碼格式是 ASCII 格式,在沒修改編碼格式時無法正確打印漢字,所以在讀取中文時會報錯。解決方法為在文件的開頭加入
# -*- coding: UTF-8 -*-或者#coding=utf-8
就行了。
我們要記住寫python程序的時候一般使用utf-8編碼格式來存儲編碼格式,網頁里面同樣的也聲明utf-8即可,utf-8是中文、英文、日文等全球文字都可以使用的編碼格式,通用性很強。
在Pycharm 中設置編碼格式的步驟:File —> setting —> File Encodings

“python幾種編碼格式的介紹以及設置編碼格式的方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。