<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    瘋狂

    STANDING ON THE SHOULDERS OF GIANTS
    posts - 481, comments - 486, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    java字符集

    Posted on 2009-08-04 17:05 瘋狂 閱讀(1361) 評論(1)  編輯  收藏 所屬分類: java
     

     ASCII 字符集

      1.名稱的由來

      ASCIIAmerican Standard Code for Information Interchange,美國信息互換標(biāo)準(zhǔn)代碼)是基于羅馬字母表的一套電腦編碼系統(tǒng)。

      2.特點

      它主要用于顯示現(xiàn)代英語和其他西歐語言。它是現(xiàn)今最通用的單字節(jié)編碼系統(tǒng),并等同于國際標(biāo)準(zhǔn)ISO 646

      3.包含內(nèi)容

      控制字符:回車鍵、退格、換行鍵等。

      可顯示字符:英文大小寫字符、阿拉伯?dāng)?shù)字和西文符號

      4.技術(shù)特征

      7位(bits)表示一個字符,共128字符

      5ASCII擴展字符集

      7位編碼的字符集只能支持128個字符,為了表示更多的歐洲常用字符對ASCII進(jìn)行了擴展,ASCII擴展字符集使用8位(bits)表示一個字符,共256字符。

      ASCII擴展字符集比ASCII字符集擴充出來的符號包括表格符號、計算符號、希臘字母和特殊的拉丁符號。

      GB2312 字符集

      1.名稱的由來

      GB2312又稱為GB2312-80字符集,全稱為《信息交換用漢字編碼字符集·基本集》,由原中國國家標(biāo)準(zhǔn)總局發(fā)布,198151日實施。

      2.特點

      GB2312是中國國家標(biāo)準(zhǔn)的簡體中文字符集。它所收錄的漢字已經(jīng)覆蓋99.75%的使用頻率,基本滿足了漢字的計算機處理需要。在中國大陸和新加坡獲廣泛使用。

      3.包含內(nèi)容

      GB2312收錄簡化漢字及一般符號、序號、數(shù)字、拉丁字母、日文假名、希臘字母、俄文字母、漢語拼音符號、漢語注音字母,共 7445 個圖形字符。其中包括6763個漢字,其中一級漢字3755個,二級漢字3008個;包括拉丁字母、希臘字母、日文平假名及片假名字母、俄語西里爾字母在內(nèi)的682個全角字符。

      4.技術(shù)特征

      (1)分區(qū)表示:

      GB2312中對所收漢字進(jìn)行了分區(qū)處理,每區(qū)含有94個漢字/符號。這種表示方式也稱為區(qū)位碼。

      各區(qū)包含的字符如下:01-09區(qū)為特殊符號;16-55區(qū)為一級漢字,按拼音排序;56-87區(qū)為二級漢字,按部首/筆畫排序;10-15區(qū)及88-94區(qū)則未有編碼。

      (2)雙字節(jié)表示

      兩個字節(jié)中前面的字節(jié)為第一字節(jié),后面的字節(jié)為第二字節(jié)。習(xí)慣上稱第一字節(jié)為高字節(jié),而稱第二字節(jié)為低字節(jié)

      高位字節(jié)使用了0xA1-0xF7(01-87區(qū)的區(qū)號加上0xA0)低位字節(jié)使用了0xA1-0xFE(01-94加上0xA0)

      5.編碼舉例

      以GB2312字符集的第一個漢字字為例,它的區(qū)號16,位號01,則區(qū)位碼是1601,在大多數(shù)計算機程序中,高字節(jié)和低字節(jié)分別加0xA0得到程序的漢字處理編碼0xB0A1。計算公式是:0xB0=0xA0+16, 0xA1=0xA0+1

      BIG5 字符集

      

      1.名稱的由來

      又稱大五碼或五大碼,1984年由臺灣財團(tuán)法人信息工業(yè)策進(jìn)會和五間軟件公司宏碁 (Acer)、神通 (MiTAC)、佳佳、零壹 (Zero One)、大眾 (FIC)創(chuàng)立,故稱大五碼。

      Big5碼的產(chǎn)生,是因為當(dāng)時臺灣不同廠商各自推出不同的編碼,如倚天碼、IBM PS55、王安碼等,彼此不能兼容;另一方面,臺灣政府當(dāng)時尚未推出官方的漢字編碼,而中國大陸的GB2312編碼亦未有收錄繁體中文字。

      2.特點

      Big5字符集共收錄13,053個中文字,該字符集在中國臺灣使用。耐人尋味的是該字符集重復(fù)地收錄了兩個相同的字:”(0xA4610xC94A)”(0xDCD10xDDFC)

      3.字符編碼方法

      Big5碼使用了雙字節(jié)儲存方法,以兩個字節(jié)來編碼一個字。第一個字節(jié)稱為高位字節(jié),第二個字節(jié)稱為低位字節(jié)。高位字節(jié)的編碼范圍0xA1-0xF9,低位字節(jié)的編碼范圍0x40-0x7E0xA1-0xFE

      各編碼范圍對應(yīng)的字符類型如下:0xA140-0xA3BF為標(biāo)點符號、希臘字母及特殊符號,另外于0xA259-0xA261,存放了雙音節(jié)度量衡單位用字:兙兛兞兝兡兣嗧瓩糎;0xA440-0xC67E為常用漢字,先按筆劃再按部首排序;0xC940-0xF9D5為次常用漢字,亦是先按筆劃再按部首排序。

      4Big5 的局限性

      盡管Big5碼內(nèi)包含一萬多個字符,但是沒有考慮社會上流通的人名、地名用字、方言用字、化學(xué)及生物科等用字,沒有包含日文平假名及片假名字母。

      例如臺灣視的異體字,故沒有收錄字。康熙字典中的一些部首用字()、常見的人名用字() 也沒有收錄到Big5之中。

      GB18030 字符集

      1.名稱的由來

      GB 18030的全稱是GB18030-2000《信息交換用漢字編碼字符集基本集的擴充》,是我國政府于2000317日發(fā)布的新的漢字編碼國家標(biāo)準(zhǔn),2001831日后在中國市場上發(fā)布的軟件必須符合本標(biāo)準(zhǔn)

      2.特點

      GB 18030字符集標(biāo)準(zhǔn)的出臺經(jīng)過廣泛參與和論證,來自國內(nèi)外知名信息技術(shù)行業(yè)的公司,信息產(chǎn)業(yè)部和原國家質(zhì)量技術(shù)監(jiān)督局聯(lián)合實施。

      GB 18030字符集標(biāo)準(zhǔn)解決漢字、日文假名、朝鮮語和中國少數(shù)民族文字組成的大字符集計算機編碼問題。該標(biāo)準(zhǔn)的字符總編碼空間超過150萬個編碼位,收錄了27484個漢字,覆蓋中文、日文、朝鮮語和中國少數(shù)民族文字。滿足中國大陸、香港、臺灣、日本和韓國等東亞地區(qū)信息交換多文種、大字量、多用途、統(tǒng)一編碼格式的要求。并且與Unicode 3.0版本兼容,填補Unicode擴展字符字匯統(tǒng)一漢字?jǐn)U展A”的內(nèi)容。并且與以前的國家字符編碼標(biāo)準(zhǔn)(GB2312GB13000.1)兼容。

      3.編碼方法

      GB 18030標(biāo)準(zhǔn)采用單字節(jié)、雙字節(jié)和四字節(jié)三種方式對字符編碼。單字節(jié)部分使用0×000×7F(對應(yīng)于ASCII碼的相應(yīng)碼)。雙字節(jié)部分,首字節(jié)碼從0×810×FE,尾字節(jié)碼位分別是0×400×7E0×800×FE。四字節(jié)部分采用GB/T 11383未采用的0×300×39作為對雙字節(jié)編碼擴充的后綴,這樣擴充的四字節(jié)編碼,其范圍為0×813081300×FE39FE39。其中第一、三個字節(jié)編碼碼位均為0×810×FE,第二、四個字節(jié)編碼碼位均為0×300×39

      4.包含的內(nèi)容

      雙字節(jié)部分收錄內(nèi)容主要包括GB13000.1全部CJK漢字20902個、有關(guān)標(biāo)點符號、表意文字描述符13個、增補的漢字和部首/構(gòu)件80個、雙字節(jié)編碼的歐元符號等。 四字節(jié)部分收錄了上述雙字節(jié)字符之外的,包括CJK統(tǒng)一漢字?jǐn)U充A在內(nèi)的GB 13000.1中的全部字符。

      Unicode字符集

      1.名稱的由來

      Unicode字符集編碼是Universal Multiple-Octet Coded Character Set 通用多八位編碼字符集的簡稱,是由一個名為 Unicode 學(xué)術(shù)學(xué)會(Unicode Consortium)的機構(gòu)制訂的字符編碼系統(tǒng),支持現(xiàn)今世界各種不同語言的書面文本的交換、處理及顯示。該編碼于1990年開始研發(fā),1994年正式公布,最新版本是2005331日的Unicode 4.1.0

      2.特征

      Unicode是一種在計算機上使用的字符編碼。它為每種語言中的每個字符設(shè)定了統(tǒng)一并且唯一的二進(jìn)制編碼,以滿足跨語言、跨平臺進(jìn)行文本轉(zhuǎn)換、處理的要求。

      3.編碼方法

      Unicode 標(biāo)準(zhǔn)始終使用十六進(jìn)制數(shù)字,而且在書寫時在前面加上前綴“U+”,例如字母“A”的編碼為 004116 和字符“?”的編碼為 20AC16。所以“A”的編碼書寫為“U+0041”

      4UTF-8 編碼

      UTF-8Unicode的其中一個使用方式。 UTF Unicode Translation Format,即把Unicode轉(zhuǎn)做某種格式的意思。

      UTF-8便于不同的計算機之間使用網(wǎng)絡(luò)傳輸不同語言和編碼的文字,使得雙字節(jié)的Unicode能夠在現(xiàn)存的處理單字節(jié)的系統(tǒng)上正確傳輸。

      UTF-8使用可變長度字節(jié)來儲存 Unicode字符,例如ASCII字母繼續(xù)使用1字節(jié)儲存,重音文字、希臘字母或西里爾字母等使用2字節(jié)來儲存,而常用的漢字就要使用3字節(jié)。輔助平面字符則使用4字節(jié)。

      5UTF-16 UTF-32 編碼

    UTF-32UTF-16 UTF-8 Unicode 標(biāo)準(zhǔn)的編碼字符集的字符編碼方案,UTF-16 使用一個或兩個未分配的 16 位代碼單元的序列對 Unicode 代碼點進(jìn)行編碼;UTF-32 即將每一個 Unicode 代碼點表示為相同值的 32 位整數(shù)



    Java 編程技術(shù)中漢字問題的分析及解決

    Java 源代碼-> Java 字節(jié)碼,標(biāo)準(zhǔn)的 Java 編譯器 javac 使用的字符集是系統(tǒng)默認(rèn)的字符集,比如在中文 Windows 操作系統(tǒng)上就是 GBK ,而在 Linux 操作系統(tǒng)上就是ISO-8859-1,所以大家會發(fā)現(xiàn)在 Linux 操作系統(tǒng)上編譯的類中源文件中的中文字符都出了問題,解決的辦法就是在編譯的時候添加 encoding 參數(shù),這樣才能夠與平臺無關(guān)。用法是

    javac -encoding GBK

     編譯時:先將源代碼轉(zhuǎn)換成指定的encoding 然后轉(zhuǎn)換為unicode 然后解析成指令的class 最終的classunicode格式

    Web編碼問題

    JSP 編譯。Java 應(yīng)用服務(wù)器將根據(jù) JVM file.encoding 值讀取 JSP 源文件,編譯生成 JAVA 源文件,。。。編譯。。。再根據(jù) file.encoding 值寫回文件系統(tǒng)。

    在向頁面寫值的是很實用PrintWriter out=res.getWriter() 取代 ServletOutputStream out=res.getOutputStream(). PrinterWriter 將根據(jù)contentType中指定的charset作轉(zhuǎn)換 (ContentType需在此之前指定!);

    如果通過 get/post 方式從 browser 返回的參數(shù)值中包含漢字信息, servlet 將無法得到正確的值,HttpServeletRequest.setCharacterEncoding 用于在調(diào)用 request.getParameter(“param_name”) 前指定應(yīng)用程序希望的 encoding,這將有助于徹底解決這個問題。

    Unicode規(guī)范中推薦的標(biāo)記字節(jié)順序的方法是BOMBOM不是“Bill Of Material”BOM表,而是Byte Order Mark

    (Unicode
    是一種字符編碼方法,不過它是由國際組織設(shè)計,可以容納全世界所有語言文字的編碼方案。Unicode的學(xué)名是"Universal Multiple-Octet Coded Character Set",簡稱為UCSUCS可以看作是"Unicode Character Set"的縮寫。)

    UCS編碼中有一個叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的編碼是FEFF。而FFFEUCS中是不存在的字符,所以不應(yīng)該出現(xiàn)在實際傳輸中。UCS規(guī)范建議在傳輸字節(jié)流前,先傳輸字符"ZERO WIDTH NO-BREAK SPACE"

    這樣如果接收者收到FEFF,就表明這個字節(jié)流是Big-Endian的;如果收到FFFE,就表明這個字節(jié)流是Little-Endian的。因此字符"ZERO WIDTH NO-BREAK SPACE"又被稱作BOM
    Java 中直接使用Unicode 轉(zhuǎn)碼時會按照UTF-16LE 的方式拆分,并加上 BOM如果采用 UTF-16 拆分,在 Java 中默認(rèn)采用帶有 BOM UTF-16BE 拆分。 (其實UnicodeUTF-8是完全一樣的)http://topic.csdn.net/u/20081009/09/e899898c-591f-4985-ae88-5972475708fb.html

      


    評論

    # re: java的基本字符集是什么  回復(fù)  更多評論   

    2013-09-19 19:27 by 謝剛
    想知道java的基本字符集有哪些,分別有什么樣的字符。。。謝謝。
    主站蜘蛛池模板: 3d成人免费动漫在线观看| 亚洲一级免费毛片| 亚洲理论电影在线观看| 国产精品V亚洲精品V日韩精品 | 亚洲成熟丰满熟妇高潮XXXXX| 亚洲国产精品久久网午夜| 亚洲精品视频久久| 亚洲av无码电影网| 亚洲乱码国产乱码精华| 亚洲精华国产精华精华液| 亚洲国产成人精品无码区二本| 亚洲精品乱码久久久久蜜桃| 亚洲爆乳无码专区www| MM1313亚洲精品无码久久| 色一情一乱一伦一视频免费看| 日韩精品无码免费视频| rh男男车车的车车免费网站| 成人一区二区免费视频| 日韩内射激情视频在线播放免费| 亚洲精品视频在线免费| 在线免费观看视频你懂的| 免费观看四虎精品国产永久| 亚洲中文字幕伊人久久无码| 亚洲码国产精品高潮在线| 亚洲免费在线视频| 亚洲娇小性xxxx色| 特级毛片免费观看视频| 91成人免费观看在线观看| 99re6在线视频精品免费下载 | 九九久久国产精品免费热6| 国产精品免费久久久久久久久| 99精品免费视品| 最近中文字幕大全中文字幕免费| 福利免费观看午夜体检区| 在线看片无码永久免费aⅴ| 亚洲精品岛国片在线观看| 亚洲爆乳无码专区| 中文字幕亚洲男人的天堂网络| 国产精品亚洲综合| 国偷自产一区二区免费视频| 黄页网站免费观看|