這篇文章主要介紹python3中utf-8編碼轉(zhuǎn)換的方法,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
為回民等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及回民網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站建設(shè)、做網(wǎng)站、回民網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!utf-8編碼將一個 unicode 字符編碼成 1~6 個字節(jié),常用的英文字母被編碼成 1 個字節(jié),漢字通常是 3 個字節(jié),只有很生僻的字符才會被編碼成 4~6 個字節(jié)。注意,從 unicode 到 utf-8 并不是直接的對應(yīng),而是通過一些算法和規(guī)則來轉(zhuǎn)換的。
來看一下具體編碼例子吧:
>>> list('中'.encode('utf-8')) [228, 184, 173] >>> list('a'.encode('utf-8')) [97]
可以看出,utf-8 將漢字 ‘中’ 編碼成了三個字節(jié),將英文字母 ‘a(chǎn)’ 編碼成了一個字節(jié),且 utf-8 編碼兼容 ASCII 編碼。
拓展:unicode 編碼
為每種語言制定一套編碼方式實(shí)在是太蠢了!為什么不能把所有語言的所有字符一起編碼呢?
把所有語言統(tǒng)一到一套編碼里,這套編碼就是 unicode 編碼。使用 unicode 編碼,無論處理什么文本都不會出現(xiàn)亂碼問題了。
unicode 編碼使用兩個字節(jié)(16 位 bit)表示一個字符,比較偏僻的字符需要使用 4 個字節(jié)。
但是新的問題又來了,如果一段純英文文本,用 unicode 編碼存儲會比用 ASCII 編碼多占用一倍空間!無論是存儲還是傳輸都很浪費(fèi)!
以上是python3中utf-8編碼轉(zhuǎn)換的方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!