日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)Python教程:python中如何將亂碼解碼

中文編碼問(wèn)題一直是程序員頭疼的問(wèn)題,而Python2中的字符編碼足矣令新手抓狂。本文將盡量用通俗的語(yǔ)言帶大家徹底的了解字符編碼

成都創(chuàng)新互聯(lián)是專業(yè)的清河網(wǎng)站建設(shè)公司,清河接單;提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行清河網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

以及Python2和3中的各種編碼問(wèn)題。

一、什么是字符編碼。

要徹底解決字符編碼的問(wèn)題就不能不去了解到底什么是字符編碼。計(jì)算機(jī)從本質(zhì)上來(lái)說(shuō)只認(rèn)識(shí)二進(jìn)制中的0和1,可以說(shuō)任何數(shù)據(jù)在計(jì)算機(jī)

中實(shí)際的物理表現(xiàn)形式也就是0和1,如果你將硬盤(pán)拆開(kāi),你是看不到所謂的數(shù)字0和1的,你能看到的只是一塊光滑閃亮的磁盤(pán),如果你

用足夠大的放大鏡你就能看到磁盤(pán)的表面有著無(wú)數(shù)的凹凸不平的元件,凹下去的代表0,突出的代表1,這就是計(jì)算機(jī)用來(lái)表現(xiàn)二進(jìn)制的方

式。

1.ASCII

現(xiàn)在我們面臨了第一個(gè)問(wèn)題:如何讓人類語(yǔ)言,比如英文被計(jì)算機(jī)理解?我們以英文為例,英文中有英文字母(大小寫(xiě))、標(biāo)點(diǎn)符號(hào)、特

殊符號(hào)。如果我們將這些字母與符號(hào)給予固定的編號(hào),然后將這些編號(hào)轉(zhuǎn)變?yōu)槎M(jìn)制,那么計(jì)算機(jī)明顯就能夠正確讀取這些符號(hào),同時(shí)通

過(guò)這些編號(hào),計(jì)算機(jī)也能夠?qū)⒍M(jìn)制轉(zhuǎn)化為編號(hào)對(duì)應(yīng)的字符再顯示給人類去閱讀。由此產(chǎn)生了我們最熟知的ASCII碼。ASCII 碼使用指定

的7 位或8 位二進(jìn)制數(shù)組合來(lái)表示128 或256 種可能的字符。這樣在大部分情況下,英文與二進(jìn)制的轉(zhuǎn)換就變得容易多了。

2.GB2312

然而,雖然計(jì)算機(jī)是美國(guó)人發(fā)明的,但是全世界的人都在使用計(jì)算機(jī)?,F(xiàn)在出現(xiàn)了另一個(gè)問(wèn)題:如何讓中文被計(jì)算機(jī)理解?這下麻煩了,

中文不像拉丁語(yǔ)系是由固定的字母排列組成的。ASCII 碼顯然沒(méi)辦法解決這個(gè)問(wèn)題,為了解決這個(gè)問(wèn)題中國(guó)國(guó)家標(biāo)準(zhǔn)總局1980年發(fā)布《信

息交換用漢字編碼字符集》提出了GB2312編碼,用于解決漢字處理的問(wèn)題。1995年又頒布了《漢字編碼擴(kuò)展規(guī)范》(GBK)。GBK與

GB 2312—1980國(guó)家標(biāo)準(zhǔn)所對(duì)應(yīng)的內(nèi)碼標(biāo)準(zhǔn)兼容,同時(shí)在字匯一級(jí)支持ISO/IEC10646—1和GB 13000—1的全部中、日、韓(CJK)漢

字,共計(jì)20902字。這樣我們就解決了計(jì)算機(jī)處理漢字的問(wèn)題了。

3.Unicode

現(xiàn)在英文和中文問(wèn)題被解決了,但新的問(wèn)題又出現(xiàn)了。全球有那么多的國(guó)家不僅有英文、中文還有阿拉伯語(yǔ)、西班牙語(yǔ)、日語(yǔ)、韓語(yǔ)等

等。難不成每種語(yǔ)言都做一種編碼?基于這種情況一種新的編碼誕生了:Unicode。Unicode又被稱為統(tǒng)一碼、萬(wàn)國(guó)碼;它為每種語(yǔ)言中

的每個(gè)字符設(shè)定了統(tǒng)一并且唯一的二進(jìn)制編碼,以滿足跨語(yǔ)言、跨平臺(tái)進(jìn)行文本轉(zhuǎn)換、處理的要求。Unicode支持歐洲、非洲、中東、亞

洲(包括統(tǒng)一標(biāo)準(zhǔn)的東亞象形漢字和韓國(guó)表音文字)。這樣不管你使用的是英文或者中文,日語(yǔ)或者韓語(yǔ),在Unicode編碼中都有收錄,

且對(duì)應(yīng)唯一的二進(jìn)制編碼。這樣大家都開(kāi)心了,只要大家都用Unicode編碼,那就不存在這些轉(zhuǎn)碼的問(wèn)題了,什么樣的字符都能夠解析

了。

4.UTF-8

但是,由于Unicode收錄了更多的字符,可想而知它的解析效率相比ASCII碼和GB2312的速度要大大降低,而且由于Unicode通過(guò)增加一

個(gè)高字節(jié)對(duì)ISO Latin-1字符集進(jìn)行擴(kuò)展,當(dāng)這些高字節(jié)位為0時(shí),低字節(jié)就是ISO Latin-1字符。對(duì)可以用ASCII表示的字符使用Unicode

并不高效,因?yàn)閁nicode比ASCII占用大一倍的空間,而對(duì)ASCII來(lái)說(shuō)高字節(jié)的0對(duì)他毫無(wú)用處。為了解決這個(gè)問(wèn)題,就出現(xiàn)了一些中間格

式的字符集,他們被稱為通用轉(zhuǎn)換格式,即UTF(Unicode Transformation Format)。而我們最常用的UTF-8就是這些轉(zhuǎn)換格式中的一

種。在這里我們不去研究UTF-8到底是如何提高效率的,你只需要知道他們之間的關(guān)系即可。

總結(jié):

1.為了處理英文字符,產(chǎn)生了ASCII碼。 
2.為了處理中文字符,產(chǎn)生了GB2312。 
3.為了處理各國(guó)字符,產(chǎn)生了Unicode。 
4.為了提高Unicode存儲(chǔ)和傳輸性能,產(chǎn)生了UTF-8,它是Unicode的一種實(shí)現(xiàn)形式。


文章題目:創(chuàng)新互聯(lián)Python教程:python中如何將亂碼解碼
標(biāo)題鏈接:http://m.5511xx.com/article/ccosjdo.html