乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      (轉(zhuǎn))ASCII 到UNICODE再到UTF8 - My Way In Programing - ItEye技術(shù)網(wǎng)站

       weicat 2011-04-11
      從 ASCII 到 UTF-8 : 大話編碼
      話說當(dāng)年,老美搞出了ASCII編碼,用8個(gè)bit表示一個(gè)字符,
      解決了計(jì)算機(jī)存儲(chǔ)人類語言的問題.

      要說當(dāng)時(shí)那幫人真是有點(diǎn)小家子氣,只顧解決英語,數(shù)字和一些簡(jiǎn)單符號(hào)
      的存儲(chǔ)問題,壓根就沒想過中文啊,拉丁文啊,藏文啊啥的怎么存儲(chǔ)的問題.

      隨著計(jì)算機(jī)越來越普及,這個(gè)問題也就越來越尖銳了,總不能讓全世界人民
      都使用英語吧?于是,有這么兩個(gè)組織,一個(gè)曰ISO,一個(gè)曰unicode組織,就開始
      想辦法了...

      unicode想的辦法比較簡(jiǎn)單,不是1個(gè)byte不夠嘛?咱用兩個(gè)byte存,大概夠了吧?
      這就是unicode 1.0 的實(shí)現(xiàn).

      要說人家ISO就是大氣,也可能決策者們沒過過幾十K內(nèi)存的苦日子,
      大筆一揮,不就是1個(gè)byte不夠嗎?用4個(gè)byte夠了吧?再用個(gè)幾百年也夠了吧?
      這就是 ucs-4 的雛型.

      隨著一些稀奇古怪的文字需要并入unicode,unicode的決策者有點(diǎn)冒汗了,
      咱有這么多稀奇古怪的字母呢? 要不再加點(diǎn), 用 2byte + 4 bit 來存吧..
      那4bit做為頭,這下就又能表示很多奇怪的文字了....
      這就是 unicode 2.0 的雛型

      現(xiàn)在有了兩套風(fēng)格迥異的編碼方式, 到底該用那個(gè)呢?
      于是 unicode 組織 和 ISO 組織 達(dá)成了協(xié)議,就是你中有我,我中有你,
      ucs-4 盡管有 32 bit 編碼空間,只用 20 bit ,和 unicode 保持統(tǒng)一,unicode不作修改
      這就是 ucs-4 和 unicode 2.0 了,狼狽為奸的結(jié)果

      后來在 2000 年 8 月 ,unicode 的工作人員為了顯得自己不是吃白食的,
      就小小修改了一下 unicode 2.0 的文檔,做為unicode 3.0 發(fā)布了.沒加一個(gè)新字符啊!!!!!!
      (實(shí)際上, 有大約12種當(dāng)前語言 和 數(shù)十種古代語言,如雅瑪語,古希臘B類線形文字,
      古波斯碶型文字還沒有得到支持)


      至此,編碼方案算是統(tǒng)一了,接下來,咬牙切齒罵街的就變成程序員們了.
      程序員的憤怒是有道理的,比如輸入一篇100字的英文文章,如果用ASCII
      編碼,僅需要 100 byte ,而如果出現(xiàn)了哪怕一個(gè)古怪的字符而不得不用ucs-4 ,
      就需要 400 byte ! 這對(duì)早期的程序員來說簡(jiǎn)直是災(zāi)難...就算對(duì)帶寬有限得今天,
      這也是個(gè)很重要得問題..

      于是IETF推出了 UTF- 8 和 UTF-16 兩種解決方案 (utf32用的太少,忽略)

      utf 8 實(shí)際上是最聰明的編碼方式,簡(jiǎn)單說,規(guī)則有三條
      (1) ASCII 編碼不變, 用 1 個(gè)byte 表示
      (2) 一個(gè) byte 不夠 ,就用兩個(gè) byte
      (3)兩個(gè)還不夠,就用三個(gè)byte,什么?還不夠?
      不可能,3個(gè)byte已經(jīng)超過unicode 的表示極限了..你是外星人嗎?

      它帶來了如下兩大好處:
      (1)平臺(tái)無關(guān)性,windows下用UTF-8寫的小說,別人在unix下照樣能看..
      (2)有標(biāo)記位,一個(gè)字讀不出來,不影響其他字.

      utf 16 則是給笨一點(diǎn)的程序員準(zhǔn)備的,簡(jiǎn)單說,規(guī)則有兩條
      (1) unicode 1.0 中的字符完全照搬 ,用2個(gè)byte
      (2) unicode 2.0 繼續(xù)照搬,   需要用 20 bit 表示的字符,用 2byte + 4bit 處理.

      這下帶來的可不是一點(diǎn)兩點(diǎn)的壞處,
      (1)由于是變長(zhǎng),且不按計(jì)算機(jī)字長(zhǎng)(8bit)來變長(zhǎng),所以用utf16編碼的
      東東的解碼就和CPU,操作系統(tǒng)的處理方式相關(guān)了,不利于交流
      (2)一些本來具有特殊意義的字符無法被計(jì)算機(jī)正常處理
      (3)以上兩條就可以判它死刑了...其他害處不一一列舉,

      但是utf16最省空間倒是真的.畢竟是緊湊編碼的,沒有大段大段的000000000出現(xiàn)....

      實(shí)際上,IETF比較希望UTF-8成為事實(shí)標(biāo)準(zhǔn)(RFC2279),
      而UTF-16,也就是賣ISO和unicode個(gè)面子,實(shí)現(xiàn)一下而已(RFC2781)


      而現(xiàn)實(shí)中,由于UTF-8的優(yōu)異性能,得到了廣泛的認(rèn)可和使用.
      比如現(xiàn)在大紅大紫的XML,在XML1.0第二版規(guī)范中明確指出,
      當(dāng)用戶沒有指定XML文檔的 encoding 屬性的時(shí)候,自動(dòng)使用
      UTF-8編解碼
      (盡管我強(qiáng)烈建議大家注明 encoding 屬性)
      轉(zhuǎn)自http://www./441/viewspace-354.html

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多