午夜无码人妻aⅴ大片色欲张津瑜,国产69久久久欧美黑人A片,色妺妺视频网,久久久久国产综合AV天堂

淺談unicode編碼和utf-8編碼的關系

字符串編碼在Python里邊是經(jīng)常會遇到的問題,特別是寫文件以及網(wǎng)絡傳輸?shù)倪^程中,當調(diào)用某些函數(shù)的時候經(jīng)常會遇到一些字符串編碼提示錯誤,所以有必要弄清楚這些編碼到底在搞什么鬼。

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于成都網(wǎng)站建設、網(wǎng)站制作、宿城網(wǎng)絡推廣、重慶小程序開發(fā)、宿城網(wǎng)絡營銷、宿城企業(yè)策劃、宿城品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)公司為所有大學生創(chuàng)業(yè)者提供宿城建站搭建服務,24小時服務熱線:18980820575,官方網(wǎng)址:www.ekvhdxd.cn

淺談unicode編碼和utf-8編碼的關系

我們都知道計算機只能處理數(shù)字,文本轉(zhuǎn)換為數(shù)字才能處理。計算機中8個bit作為一個字節(jié),所以一個字節(jié)能表示最大的數(shù)字就是255。計算機是美國人發(fā)明的,而英文中涉及的編碼并不多,一個字節(jié)可以表示所有字符了,所以ASCII(American national Standard Code for Information Interchange,美國國家標準信息交換碼)編碼就成為美國人的標準編碼。但是我們都知道中文的字符肯定不止255個漢字,使用ASCII編碼來處理中文顯然是不夠的,所以中國制定了GB2312編碼,用兩個字節(jié)表示一個漢字,碰到及其特殊的情況,還會用三個字節(jié)來表示一個漢字。GB2312還把ASCII包含進去了。同理,日文,韓文等上百個國家為了解決這個問題發(fā)展了一套自己的編碼,于是乎標準越來越多,如果出現(xiàn)多種語言混合顯示就一定會出現(xiàn)亂碼。那么針對這種編碼“亂象”,Unicode便應運而生了,其將所有語言統(tǒng)一到一套編碼規(guī)則里。

淺談unicode編碼和utf-8編碼的關系

Unicode有許多種編碼,比如說可以通過16個bit或者32個bit來把所有語言統(tǒng)一到一套編碼里。舉個栗子,字母A用ASCII編碼的十進制為65,二進制為0100 0001;漢字“中”已經(jīng)超出了ASCII編碼的范圍,用unicode編碼是20013,二進制是01001110 00101101;A用unicode編碼只需要前面補0,二進制是00000000 0100 0001。可以看出,unicode不僅解決了ASCII碼本身的編碼問題,還解決了超出ASCII編碼范圍之外的其他國家字符編碼的統(tǒng)一問題。

淺談unicode編碼和utf-8編碼的關系

雖然unicode編碼能做到將不同國家的字符進行統(tǒng)一,使得亂碼問題得以解決,但是如果內(nèi)容全是英文unicode編碼比ASCII編碼需要多一倍的存儲空間,同時如果傳輸需要多一倍的傳輸。當傳輸文件比較小的時候,內(nèi)存資源和網(wǎng)絡帶寬尚能承受,當文件傳輸達到上TB的時候,如果 “硬”傳,則需要消耗的資源就不可小覷了。為了解決這個問題,一種可變長的編碼“utf-8”就應運而生了,把英文變長1個字節(jié),漢字3個字節(jié),特別生僻的變成4-6個字節(jié),如果傳輸大量的英文,utf8的作用就很明顯了。

淺談unicode編碼和utf-8編碼的關系

不過正是因為utf-8編碼的可變長,一會兒一個字符串是占用一個字節(jié),一會兒一個字符串占用兩個字節(jié),還有的占用三個及以上的字節(jié),導致在內(nèi)存中或者程序中變得不好琢磨。unicode編碼雖然占用內(nèi)存空間,但是在編程過程中或者在內(nèi)存處理的時候會比utf-8編碼更為簡單,因為它始終保持一樣的長度,一樣的長度對于內(nèi)存和代碼來說,它的處理就會變得更加簡單。所以utf-8編碼在做網(wǎng)絡傳輸和文件保存的時候,將unicode編碼轉(zhuǎn)換成utf-8編碼,才能更好的發(fā)揮其作用;當從文件中讀取數(shù)據(jù)到內(nèi)存中的時候,將utf-8編碼轉(zhuǎn)換為unicode編碼,亦為良策。

淺談unicode編碼和utf-8編碼的關系

如上圖所示,當需要在內(nèi)存中讀取文件的時候,此時將utf-8編碼的內(nèi)存轉(zhuǎn)換為unicode編碼,在內(nèi)存中進行統(tǒng)一處理;當需要保存文件的時候,出于空間和傳輸效率的考慮,此時將unicode編碼轉(zhuǎn)換為utf-8編碼。在Python中進行讀取和保存文件的時候,必須要顯示的指定文件編碼,其余的事情就交給Python的相關庫去處理就可以了。

小伙伴們,了解了這些基礎知識之后,接下來對Python中的字符串編碼問題的理解就輕松的多了。

本文名稱:淺談unicode編碼和utf-8編碼的關系
文章URL:http://www.ekvhdxd.cn/article48/gcohep.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設、移動網(wǎng)站建設、網(wǎng)站收錄、動態(tài)網(wǎng)站、品牌網(wǎng)站建設、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)