新聞中心
python中的編碼之間可以相互轉(zhuǎn)換,這個(gè)我們?cè)谥暗奈恼轮杏兄v到。那小編開始提問了,utf-8編碼如何轉(zhuǎn)換?有的小伙伴可能對(duì)這個(gè)詞模模糊糊的有點(diǎn)印象。但是如果我們提到unicode編碼大家就會(huì)覺得很熟悉。所以今天講的是unicode編碼里的utf-8,大家一起來試試兩個(gè)不同編碼的區(qū)別吧,也許會(huì)有新的驚喜。

站在用戶的角度思考問題,與客戶深入溝通,找到杏花嶺網(wǎng)站設(shè)計(jì)與杏花嶺網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國(guó)際域名空間、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋杏花嶺地區(qū)。
utf-8編碼將一個(gè) unicode 字符編碼成 1~6 個(gè)字節(jié),常用的英文字母被編碼成 1 個(gè)字節(jié),漢字通常是 3 個(gè)字節(jié),只有很生僻的字符才會(huì)被編碼成 4~6 個(gè)字節(jié)。注意,從 unicode 到 utf-8 并不是直接的對(duì)應(yīng),而是通過一些算法和規(guī)則來轉(zhuǎn)換的。
來看一下具體編碼例子吧:
>>> list('中'.encode('utf-8'))
[228, 184, 173]
>>> list('a'.encode('utf-8'))
[97]可以看出,utf-8 將漢字 ‘中’ 編碼成了三個(gè)字節(jié),將英文字母 ‘a(chǎn)’ 編碼成了一個(gè)字節(jié),且 utf-8 編碼兼容 ASCII 編碼。
拓展:unicode 編碼
為每種語言制定一套編碼方式實(shí)在是太蠢了!為什么不能把所有語言的所有字符一起編碼呢?
把所有語言統(tǒng)一到一套編碼里,這套編碼就是 unicode 編碼。使用 unicode 編碼,無論處理什么文本都不會(huì)出現(xiàn)亂碼問題了。
unicode 編碼使用兩個(gè)字節(jié)(16 位 bit)表示一個(gè)字符,比較偏僻的字符需要使用 4 個(gè)字節(jié)。
但是新的問題又來了,如果一段純英文文本,用 unicode 編碼存儲(chǔ)會(huì)比用 ASCII 編碼多占用一倍空間!無論是存儲(chǔ)還是傳輸都很浪費(fèi)!
今天對(duì)utf-8編碼轉(zhuǎn)換的講解到這里就結(jié)束了,不知道小伙伴們有沒有熟練掌握呀~小編看了一遍就會(huì)了,代碼真的很簡(jiǎn)單。后續(xù)有新的類似拓展,小編也會(huì)及時(shí)更新出來。
網(wǎng)頁標(biāo)題:創(chuàng)新互聯(lián)Python教程:python3中utf-8編碼如何轉(zhuǎn)換?
文章源于:http://www.5511xx.com/article/dhodoei.html


咨詢
建站咨詢
