久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

java字節(jié)編碼總結(jié)

 閱知人生百態(tài) 2015-01-10

1 編碼簡介

1.1 ASCII/ISO-8859-1/Latin_1

單字節(jié)編碼,可以表示256個(gè)不同的字符(英文字符,、標(biāo)點(diǎn)符號(hào)等),。

1.2 GB2312/GBK

雙字節(jié)編碼(不定長,英文時(shí)只用一個(gè)字節(jié)),,兼容ISO-8859-1編碼,,即當(dāng)其為ISO-8859-1時(shí),只需用一個(gè)字節(jié)來表示,,并且其值完全一樣,。GB2312只能表示簡體字,GBK可以同時(shí)表示繁體字和簡體字,,并且兼容GB2312,。

1.3 Unicode

定長雙字節(jié)編碼,不兼容任何編碼,,但可通過轉(zhuǎn)換,,表示任何編碼。Java內(nèi)部使用Unicode來進(jìn)行操作,。不過Unicode容易占用更多的空間,,因?yàn)閷τ谟⑽淖帜福琔nicode也需要兩個(gè)字節(jié)來表示,。

1.4 UTF(UCS Transformation Format)

不定長編碼,,每一個(gè)字符的長度從1-6個(gè)字節(jié)不等,一般來講,,英文字母都是用一個(gè)字節(jié)表示,,而漢字使用三個(gè)字節(jié)。其實(shí)UTF就是Unicode編碼的傳輸和存儲(chǔ)的格式,。

2 Java對字符的處理

2.1 getBytes(charset)

將字符串所表示的字符按照charset編碼,,并以字節(jié)方式表示。注意字符串在java內(nèi)存中總是按unicode編碼存儲(chǔ)的,。比如"中文",,存儲(chǔ)為"4e2d 6587",如果charset為"gbk",,則被編碼為"d6d0 cec4",,然后返回字節(jié)"d6 d0 ce c4",。如果charset為"utf8"則最后是"e4 b8 ad e6 96 87",。如果是"iso8859-1",,則由于無法編碼,最后返回 "3f 3f"(兩個(gè)問號(hào)),。(應(yīng)先考慮字符串所表示的字符編碼,,然后確定需轉(zhuǎn)換的編碼與現(xiàn)在字符串的編碼是否兼容)

2.2 new String(charset)

將字節(jié)數(shù)組按照charset編碼進(jìn)行組合識(shí)別,最后轉(zhuǎn)換為unicode存儲(chǔ),。就是按照不同的編碼,,取不同的字節(jié)數(shù),然后轉(zhuǎn)換成unicode,。

3 Java中各類型操作的字符處理

 

3.1 各類型處理

 

java字節(jié)編碼總結(jié) - 木比白 - 木比白

 

3.2 文件讀寫

外部數(shù)據(jù)如文件經(jīng)過讀寫和轉(zhuǎn)換兩個(gè)步驟,,轉(zhuǎn)為jvm所使用字符。

1. InputStream/OutputStream用于讀寫原始外部數(shù)據(jù),,Reader/Writer執(zhí)行讀寫和轉(zhuǎn)換兩個(gè)步驟,,處理漢字不合適,應(yīng)該首選使用Reader/Writer,。

2. FileReader/FileWriter使用JVM當(dāng)前編碼讀寫文件.如果有其它編碼格式,使用InputStreamReader/OutputStreamWriter

3. PrintStream有點(diǎn)特殊,,它自動(dòng)使用jvm缺省編碼進(jìn)行轉(zhuǎn)換。

3.3 讀取.properties文件

.propeties文件由Properties類以iso8859-1編碼讀取,,因此不能在其中直接寫漢字,。

1. 使用JDK 的native2ascii工具轉(zhuǎn)換漢字為\uXXXX格式。命令行:native2ascii –encoding GBK inputfile outputfile

2. 對讀入的字符串進(jìn)行轉(zhuǎn)換:byte[] b = str.getBytest(“ISO-8859-1”); str = new String(b,”GBK”);

3.4 讀取XML文件

XML文件讀寫同于文件讀寫,,但應(yīng)注意確保XML頭中聲明如<? xml version=”1.0” encoding=”gb2312”?>與文件編碼保持一致,。

3.5 WEB/Servlet/JSP

1. 對于JSP,確定頭部加上 <%@ page contentType="text/html;charset=gbk"%>這樣的標(biāo)簽,。

2. 對于Servlet,,確定 設(shè)置setContentType (“text/html; charset=gbk”),以上兩條用于使得輸出漢字沒有問題,。

3. 為輸出HTML head中加一個(gè) <meta http-equiv="Content-Type" content="text/html; charset=gbk"> ,,讓瀏覽器正確確定HTML編碼。

4. 為Web應(yīng)用加一個(gè)Filter,,確保每個(gè)Request明確調(diào)用setCharacterEncoding方法,讓輸入漢字能夠正確解析,。 

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多