久久久精品2019免费观看_亚洲国产精品成人久久久_69国产成人综合久久精品91_国产精品久久精品视

Python 歷史遺留問(wèn)題

現(xiàn)在我們思考一個(gè)問(wèn)題。

我們?cè)陔娔X上敲字符,這個(gè)字符首先是存到內(nèi)存里的對(duì)吧,內(nèi)存里躺著的都是Unicode格式的二進(jìn)制數(shù)對(duì)吧,現(xiàn)在如果我要把它存到硬盤(pán),理論上來(lái)說(shuō)就可以直接把Unicode格式的二進(jìn)制直接丟到硬盤(pán)就可以了。

如果是這樣的話,世界上就不會(huì)有亂碼問(wèn)題了。

但是,內(nèi)存里的數(shù)據(jù)是一斷電就馬上丟失了,而硬盤(pán)的數(shù)據(jù)會(huì)是永久保存的。

這些硬盤(pán)里保存的有整個(gè)人類(lèi)歷史長(zhǎng)河發(fā)展過(guò)程中,留下非常龐大數(shù)量的老文件,而這些文件里面有很多都是由GBK編碼的,或者用ASCII碼、Shift_JIS、Euc-kr等等。

對(duì)于這些老文件我們不能全部刪除吧,如果全部刪掉的話,那我們也就不會(huì)遇到亂碼問(wèn)題了。

因?yàn)樗械奈募际荱nicode編碼的,但是問(wèn)題是我們做不到秦始皇那樣所以我們經(jīng)常會(huì)遇到的亂碼問(wèn)題就是歷史發(fā)展過(guò)程中,殘留了太多的各種編碼的文件。

現(xiàn)在我們電腦內(nèi)存里的編碼方式,都換成Unicode了,所以我們現(xiàn)在在程序運(yùn)行過(guò)程中,輸入的任何人類(lèi)字符都不會(huì)亂碼。

但是硬盤(pán)上躺的那些老的文件我們是不是也需要讓他們正常顯示。

所以Unicode編碼除了需要兼容玩過(guò)字符之外,還需要與原來(lái)每個(gè)國(guó)家的字符編碼有對(duì)應(yīng)關(guān)系,把新的Unicode的二進(jìn)制數(shù)與來(lái)的編碼的二進(jìn)制數(shù)一一對(duì)應(yīng)起來(lái)。

就相當(dāng)于你買(mǎi)房要找個(gè)中介,Unicode就是那個(gè)中介。

我在電腦上輸入字符,在內(nèi)存里存的是Unicode的二進(jìn)制數(shù),然后當(dāng)我要保存到硬盤(pán)的時(shí)候,就要指定保存成GBK格式,然后就會(huì)按照Unicode對(duì)應(yīng)上GBK的二進(jìn)制編碼進(jìn)行保存。

當(dāng)我們要讀取GBK格式的文件的時(shí)候,也會(huì)是按照各個(gè)步驟反過(guò)來(lái),先看這個(gè)文件是以什么編碼格式保存的,然后對(duì)應(yīng)成Unicode編碼的二進(jìn)制數(shù)。再根據(jù)Unicode編碼顯示出原來(lái)的字符。

以前老的字符編碼,都是可以轉(zhuǎn)成Unicode編碼的,但是不能通過(guò)Unicode進(jìn)行相互轉(zhuǎn)換,當(dāng)然如果是純英文的話就沒(méi)問(wèn)題。

未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » Python 歷史遺留問(wèn)題

贊 (0) 打賞

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

微信掃一掃打賞