<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Java常用字符集編碼詳解

      Java常用字符集編碼詳解


            Web開發(fā)的時候經(jīng)常會遇到一些字符編碼的錯誤,如頁面亂碼等問題,所以有必要需對字符編碼有所了解,以下是Ricki收集的一些資料(可能不是很全,但希望對你有所幫助)
            Java標(biāo)準(zhǔn)字符集:所謂Java標(biāo)準(zhǔn)字符集,就是Java平臺支持的字符集:US-ASCII、ISO-8859-1、UTF-8、UTF-16BE、UTF-16LE、UTF-16。
            US-ASCII
            US-ASCII,這是一個出現(xiàn)得比較早的字符編碼規(guī)范;因為它出現(xiàn)比較早,在通用型方面也考慮得比較少,所以也比較簡單。一個ASCII字符用一個字節(jié)存儲,也就是說它可以用來表示256個不同的字符。由于英文大小寫字母、阿拉伯?dāng)?shù)字和標(biāo)點符號等字符是有限的,所以就把前128個字符作為常用字符,而剩下的高位字符作為擴展字符。這128個字符通常用來表示音標(biāo)、特殊字符等。
            ISO-8859-1
            ISO-8859-1也常被稱為Latin_1(拉丁1)字符集,像MySQL的默認字符集就是ISO-8859-1,其他它與ASCII編碼類似,也是用一個字節(jié)表示一個字符,也只用于表示英文字符、數(shù)字、符號及特殊字符。它與ASCII唯一的不同在于它是一個國際標(biāo)準(zhǔn),而ASCII只是一個美國國家標(biāo)準(zhǔn)。
            中文字符集
            通過對上面兩種字符集的了解,如果想用它們來表示中文字符集,顯然有些不太現(xiàn)實,因為常用的中文字符都有上千個之多,所以我們需要能表示更多字符的字符集實現(xiàn)中文字符編碼。但又為了兼容ASCII編碼,中國在ASCII的基礎(chǔ)上制定了自己的字符編碼規(guī)范,也就是我們比較熟悉的GB2312,它的全稱是GB2312-80信息交換用漢字編碼字符集(基礎(chǔ)集)。它能定義了7000多個常用漢字和符號,GB2312的實現(xiàn)是通過使用兩個擴展ASCII字符來定義一個中文字符,根據(jù)這一特定,我們就可以判斷相鄰的兩個ASCII字符是否為擴展字符,我們就可以確認這兩個字符組成一個中文字符,但是在擴展ASCII字符中,也定義了一些其他字符,所以相鄰兩個ASCII同為擴展字符時,并不能肯定的說它是一個中文字符,處理起來是相當(dāng)麻煩的。
            除了GB2312這個字符集以外,還有幾個中文的字符集:Big5、HKSCS、GBK、GB18030。
            ——>         Big5:臺灣使用的編碼標(biāo)準(zhǔn),繁體中文字符,字符數(shù)也有7000多個。
            ——>         HKSCS:香港使用的編碼標(biāo)準(zhǔn),繁體中文字符,但跟Big5不同
            ——>         GBK:《漢字內(nèi)碼擴展規(guī)范》是GB2312的擴展集,不僅增加了大量簡體中文字符和符號,也增加了對繁體中文字符的支持,另外還留有用戶自定義字符空間,總共字符數(shù)在22000左右。
            ——>         GB18030:《信息交換用漢字編碼字符集 基本集的擴充》將會成為中國字符編碼規(guī)范新標(biāo)準(zhǔn),它兼容GB2312和GBK。
            GB2312、Big5、HKSCS是同一時期的產(chǎn)物,雖然都是通過擴展ASCII來實現(xiàn)的,但是它們彼此之間并不兼容,GBK作為GB2312的擴展產(chǎn)物,它幾乎涵蓋了Big5里所有的繁體字,并將一些不常見的中文字符也添加進入標(biāo)準(zhǔn),windows操作系統(tǒng)支持的中文字符集也就是GBK;GB18030是2000年制定的標(biāo)準(zhǔn),它為了兼容GB2312和GBK,保留了雙字節(jié)編碼,同時為了擴展,新增了四字節(jié)編碼,擴展后的GB18030字符集新增了部分少數(shù)民族文字,支持的字符數(shù)量比GBK多5000多個。
            Unicode
            通過對上面知識的學(xué)習(xí),你就會覺得Unicode(Universal Multiple-Octet Coded Character Set)的出現(xiàn)是種必然,如果沒有一套統(tǒng)一的字符編碼標(biāo)準(zhǔn),我們將舉步維艱。Unicode提供了兩套字符編碼標(biāo)準(zhǔn):
            ——>           UCS-2(Unicode-16):2個字節(jié)字符編碼
            ——>           UCS-4(Unicode-32):4個字節(jié)字符編碼
            Unicode編碼能支持的字符數(shù)相當(dāng)多,Unicode-16就能定義65535個字符,其中包含了大量中文字符(一個中文字符只暫一位)。
            其實Unicode是一種理想化的字符標(biāo)準(zhǔn),它并沒有過多的考慮目前已經(jīng)存在的字符集標(biāo)準(zhǔn),它只與ISO-8859-1兼容,但它并不與ASCII兼容,想從ASCII編碼轉(zhuǎn)換為Unicode編碼相當(dāng)困難;另外,Unicode里很多字符都有‘0’字節(jié),這將導(dǎo)致C語言會誤認為它為字符串結(jié)束標(biāo)志,這是相當(dāng)可怕的,如果使用了Unicode編碼,所有用C語言實現(xiàn)的系統(tǒng)將無法正常工作。這也是為何會出現(xiàn)UTF的原因。
            UTF編碼
            UTF(UCS Transformation Format)實現(xiàn)了Unicode與計算機所使用的編碼之間的映射關(guān)系。常用的UTF編碼有:UTF-8、UTF-16、UTF-7等。
            ——>       UTF-8:是三字節(jié)變長字符編碼,它能兼容ASCII編碼。
            ——>       UTF-16:是Unicode的標(biāo)準(zhǔn)實現(xiàn),與Unicode編碼規(guī)范相同
            ——>       UTF-16BE:UTF-16編碼big endian,先存放高字節(jié)
            ——>       UTF-16LE:UTF-16編碼little endian,先存放低字節(jié)
            其中,big endian和little endian是CPU處理多字節(jié)字符的不同方法,因CPU的不同而有所不同。另外,很多人都認為UTF-8和Unicode是一個概念,其實UTF-8只是Unicode標(biāo)準(zhǔn)的一種編碼實現(xiàn),是目前使用得比較多的字符編碼格式之一。
            PS:一、  各個國家和地區(qū)所制定的不同 ANSI 編碼(不同的國家和地區(qū)制定了不同的標(biāo)準(zhǔn),由此產(chǎn)生了 GB2312, BIG5, JIS 等各自的編碼標(biāo)準(zhǔn)。這些使用 2 個字節(jié)來代表一個字符的各種漢字延伸編碼方式,稱為 ANSI 編碼)標(biāo)準(zhǔn)中,都只規(guī)定了各自語言所需的“字符”。比如:漢字標(biāo)準(zhǔn)(GB2312)中沒有規(guī)定韓國語字符怎樣存儲。這些 ANSI 編碼標(biāo)準(zhǔn)所規(guī)定的內(nèi)容包含兩層含義:
                   1.使用哪些字符。也就是說哪些漢字,字母和符號會被收入標(biāo)準(zhǔn)中。所包含“字符”的集合就叫做“字符集”。
                   2.規(guī)定每個“字符”分別用一個字節(jié)還是多個字節(jié)存儲,用哪些字節(jié)來存儲,這個規(guī)定就叫做“編碼”。
                   各個國家和地區(qū)在制定編碼標(biāo)準(zhǔn)的時候,“字符的集合”和“編碼”一般都是同時制定的。因此,平常我們所說的“字符集”,比如:GB2312, GBK, JIS 等,除了有“字符的集合”這層含義外,同時也包含了“編碼”的含義。
                  “UNICODE 字符集”包含了各種語言中使用到的所有“字符”。用來給 UNICODE 字符集編碼的標(biāo)準(zhǔn)有很多種,比如:UTF-8, UTF-16, UnicodeLittle, UnicodeBig 等。
               二、從計算機對多國語言的支持角度看,大致可以分為三個階段:

        系統(tǒng)內(nèi)碼 說明 系統(tǒng)
      階段一 ASCII 計算機剛開始只支持英語,其它語言不能夠在計算機上存儲和顯示。 英文 DOS
      階段二 ANSI編碼
      (本地化) 為使計算機支持更多語言,通常使用 0x80~0xFF 范圍的 2 個字節(jié)來表示 1 個字符。比如:漢字 '中' 在中文操作系統(tǒng)中,使用 [0xD6,0xD0] 這兩個字節(jié)存儲。

      不同的國家和地區(qū)制定了不同的標(biāo)準(zhǔn),由此產(chǎn)生了 GB2312, BIG5, JIS 等各自的編碼標(biāo)準(zhǔn)。這些使用 2 個字節(jié)來代表一個字符的各種漢字延伸編碼方式,稱為 ANSI 編碼。在簡體中文系統(tǒng)下,ANSI 編碼代表 GB2312 編碼,在日文操作系統(tǒng)下,ANSI 編碼代表 JIS 編碼。

      不同 ANSI 編碼之間互不兼容,當(dāng)信息在國際間交流時,無法將屬于兩種語言的文字,存儲在同一段 ANSI 編碼的文本中。 中文 DOS,中文 Windows 95/98,日文 Windows 95/98
      階段三 UNICODE
      (國際化) 為了使國際間信息交流更加方便,國際組織制定了 UNICODE 字符集,為各種語言中的每一個字符設(shè)定了統(tǒng)一并且唯一的數(shù)字編號,以滿足跨語言、跨平臺進行文本轉(zhuǎn)換、處理的要求。

       

      posted @ 2010-01-16 13:37  vipbooks  閱讀(612)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 4hu44四虎www在线影院麻豆| 久久天天躁狠狠躁夜夜婷| 亚洲熟妇在线视频观看| 在线日韩日本国产亚洲| 亚洲国产综合性亚洲综合性 | 极品一区二区三区水蜜桃| 亚洲一区二区三区丝袜| 日本深夜福利在线观看| 漂亮的人妻不敢呻吟被中出| 产综合无码一区| 国产成人无码区免费内射一片色欲 | 亚洲AV无码东方伊甸园| 精品人妻日韩中文字幕| 国产香蕉97碰碰久久人人| 加勒比无码人妻东京热| 中文人妻av高清一区二区| 屁屁影院ccyy备用地址| 久久国产免费直播| 另类 专区 欧美 制服| 亚洲国产成人无码影片在线播放| 国产一区二区三区在线观看免费| 先锋影音av最新资源| 免费看欧美日韩一区二区三区 | 午夜毛片不卡免费观看视频| 国产精品男女爽免费视频| 国产一区二区三区在线观看免费| 日韩中文字幕av有码| 人妻va精品va欧美va| 欧美精品在线观看视频 | 又黄又爽又色的少妇毛片| 欧美福利电影A在线播放| 青草视频在线观看视频| 国产视频最新| 色欲狠狠躁天天躁无码中文字幕 | 在线天堂中文新版www| 精品一区二区三区在线播放视频 | 久久天天躁夜夜躁狠狠综合| 免费网站看sm调教视频| 亚洲精品国产精品国在线| 九九在线精品国产| 丝袜老师办公室里做好紧好爽|