天天看點

java ascii 字元編碼_java中的常用字元編碼ASCII、Unicode和UTF-8

棣???璁蹭?涓???绉?瀛?绗???缂????瑰?:

1. ASCII??

??浠??ラ??锛??ㄨ?$???哄???????????淇℃????缁??借〃绀轟負涓?涓?浜?杩??剁??瀛?绗?覆??姣?涓?涓?浜?杩??朵?(bit)??0??1涓ょ??舵??锛???姝ゅ??涓?浜?杩??朵?灏卞??浠ョ?????56绉??舵??锛?杩?琚?绉頒負涓?涓?瀛???(byte)??涔?灏辨??璇達?涓?涓?瀛???涓??卞??浠ョ?ㄦ?ヨ〃绀?56绉?涓??????舵??锛?姣?涓?涓??舵??瀵瑰?涓?涓?绗??鳳?灏辨??256涓?绗??鳳?浠?0000000??1111111??

涓?涓?涓?绾?60骞翠唬锛?缇??藉?跺??浜?涓?濂?瀛?绗????锛?瀵矽?辮??瀛?绗??浜?杩??朵?涔??寸???崇郴锛???浜?缁?涓?瑙?瀹???杩?琚?绉頒負ASCII??锛?涓??存部?ㄨ?充???

ASCII??涓??辮?瀹?浜?128涓?瀛?绗???缂???锛?姣?濡?绌烘?尖??SPACE????32(浜?杩???0100000)锛?澶у????瀛?姣?A??65(浜?杩???1000001)??杩?128涓?绗???????32涓?涓??芥???闆?烘?ョ???у?剁????锛??????ㄤ?涓?涓?瀛?????????浣?锛??????㈢??1浣?缁?涓?瑙?瀹?涓???

2????ASCII缂???

?辮????28涓?绗??風???灏卞?浜?锛?浣????ㄦ?ヨ〃绀哄?朵?璇?瑷?锛?128涓?绗??鋒??涓?澶?????姣?濡?锛??ㄦ?璇?涓?锛?瀛?姣?涓??規??娉ㄩ?崇???鳳?瀹?灏辨??娉???SCII??琛ㄧず??浜???锛?涓?浜?娆ф床?藉?跺氨?沖??锛??╃?ㄥ????涓??茬疆????楂?浣?缂??ユ?扮??绗??楓??姣?濡?锛?娉?璇?涓???茅??缂???涓?30(浜?杩???0000010)??杩??蜂??ワ?杩?浜?娆ф床?藉?朵嬌?ㄧ??缂???浣?绯夥???浠ヨ〃绀烘??澶?256涓?绗??楓??

浣???锛?杩??????虹?頒??扮????棰???涓??????藉?舵??涓?????瀛?姣?锛???姝わ?????瀹?浠??戒嬌??56涓?绗??風??缂????瑰?锛?浠h〃??瀛?姣??翠?涓??楓??姣?濡?锛?130?ㄦ?璇?缂???涓?浠h〃浜?茅锛??ㄥ?浼??ヨ??缂???涓??翠唬琛ㄤ?瀛?姣?Gimel (?)锛??ㄤ?璇?缂???涓???浼?浠h〃???涓?绗??楓??浣???涓?绠℃???鳳?????杩?浜?缂????瑰?涓?锛?0??127琛ㄧず??绗??鋒??涓??風??锛?涓?涓??風??????128??255??杩?涓?娈點??

?充?浜?娲插?藉?剁????瀛?锛?浣跨?ㄧ??绗??峰氨?村?浜?锛?姹?瀛?灏卞?杈?0涓?宸??熾??涓?涓?瀛??????借〃绀?56绉?绗??鳳???瀹???涓?澶???锛?灏卞?椤諱嬌?ㄥ?涓?瀛???琛ㄨ揪涓?涓?绗??楓??姣?濡?锛?绠?浣?涓???甯歌???缂????瑰???GB2312锛?浣跨?ㄤ袱涓?瀛???琛ㄧず涓?涓?姹?瀛?锛???浠ョ??璁轟???澶???浠ヨ〃绀?56x256=65536涓?绗??楓??

涓???缂???????棰???瑕?涓???璁ㄨ?猴?杩?绡?绗?璁頒?娑?????杩????????猴??界?堕?芥???ㄥ?涓?瀛???琛ㄧず涓?涓?绗??鳳?浣???GB绫葷??姹?瀛?缂???涓???????Unicode??UTF-8??姣????崇郴????

3.Unicode

姝e?涓?涓?????璇達?涓???涓?瀛??ㄧ??澶?绉?缂????瑰?锛???涓?涓?浜?杩??舵?闆????浠ヨ?瑙i????涓?????绗??楓????姝わ?瑕??蟲??寮?涓?涓???????浠訛?灏卞?椤葷?ラ??瀹???缂????瑰?锛??????ㄩ??璇???缂????瑰?瑙h?夥?灏變??虹?頒貢????涓轟?涔??靛????浠跺父甯稿?虹?頒貢??锛?灏辨????涓哄??淇′漢???朵俊浜轟嬌?ㄧ??缂????瑰?涓?涓??楓??

??浠ユ?寵薄锛?濡?????涓?绉?缂???锛?灏?涓???涓???????绗??烽?界撼?ュ?朵腑??姣?涓?涓?绗??烽?界?浜?涓?涓???涓???浜???缂???锛??d?涔辯????棰?灏變?娑?澶便??杩?灏辨??Unicode锛?灏卞??瀹?????瀛??借〃绀虹??锛?杩???涓?绉?????绗??風??缂?????

Unicode褰??舵??涓?涓?寰?澶х??????锛??闆?ㄧ??瑙?妯″??浠ュ?圭撼100澶?涓?涓?绗??楓??姣?涓?绗??風??缂????戒?涓??鳳?姣?濡?锛?U+0639琛ㄧず?挎??浼?瀛?姣?Ain锛?U+0041琛ㄧず?辮????澶у??瀛?姣?A锛?U+4E25琛ㄧず姹?瀛???涓モ?????蜂???绗??峰?瑰?琛????浠ユ?ヨ??nicode.org锛?????涓??ㄧ??姹?瀛?瀵瑰?琛ㄣ??

4. Unicode????棰?

??瑕?娉ㄦ??????锛?Unicode????涓?涓?绗??烽??锛?瀹???瑙?瀹?浜?绗??風??浜?杩??朵唬??锛??存病??瑙?瀹?杩?涓?浜?杩??朵唬??搴?璇ュ?浣?瀛??ㄣ??

姣?濡?锛?姹?瀛???涓モ????unicode??????杩??舵??E25锛?杞??㈡??浜?杩??舵?拌凍瓒蟲??15浣?(100111000100101)锛?涔?灏辨??璇磋?涓?绗??風??琛ㄧず?沖???瑕?2涓?瀛?????琛ㄧず?朵??村ぇ??绗??鳳????介??瑕?3涓?瀛???????4涓?瀛???锛????蟲?村???

杩???灏辨??涓や釜涓ラ??????棰?锛?绗?涓?涓???棰???锛?濡?浣????藉?哄??unicode??ascii锛?璁$???烘??涔??ラ??涓?涓?瀛???琛ㄧず涓?涓?绗??鳳???涓???????琛ㄧず涓?涓?绗??峰???绗?浜?涓???棰???锛???浠?宸茬??ラ??锛??辨??瀛?姣????ㄤ?涓?瀛???琛ㄧず灏卞?浜?锛?濡???unicode缁?涓?瑙?瀹?锛?姣?涓?绗??風?ㄤ?涓?????涓?瀛???琛ㄧず锛??d?姣?涓??辨??瀛?姣????藉??舵??浜??頒?涓?瀛?????0锛?杩?瀵逛?瀛??ㄦ?ヨ?存????澶х??娴?璐癸???????浠剁??澶у?浼???姝ゅぇ?轟?涓???锛?杩?????娉??ュ??????

瀹?浠???????缁?????锛?1)?虹?頒?unicode??澶?绉?瀛??ㄦ?瑰?锛?涔?灏辨??璇存??璁稿?绉?涓?????浜?杩??舵?煎?锛???浠ョ?ㄦ?ヨ〃绀?nicode??2)unicode?ㄥ??誇?娈墊?堕?村????娉??ㄥ箍锛??村?頒???缃????虹?般??

5.UTF-8

浜???缃???????锛?寮虹??瑕?姹??虹?頒?绉?缁?涓???缂????瑰???UTF-8灏辨???ㄤ???缃?涓?浣跨?ㄦ??骞跨??涓?绉?unicode??瀹??版?瑰????朵?瀹??版?瑰?杩?????UTF-16??UTF-32锛?涓?杩??ㄤ???缃?涓??烘??涓??ㄣ????澶?涓???锛?杩??????崇郴??锛?UTF-8??Unicode??瀹??版?瑰?涔?涓???

UTF-8??澶х??涓?涓??圭?癸?灏辨??瀹???涓?绉????跨??缂????瑰???瀹???浠ヤ嬌??~4涓?瀛???琛ㄧず涓?涓?绗??鳳??規??涓?????绗??瘋??????瀛????垮害??

UTF-8??缂???瑙???寰?绠???锛?????浜??★?

1)瀵逛???瀛?????绗??鳳?瀛?????绗?涓?浣?璁句負0锛?????浣?涓鴻?涓?绗??風??unicode??????姝ゅ?逛??辮??瀛?姣?锛?UTF-8缂?????ASCII?????稿??????

2)瀵逛?n瀛?????绗???n>1)锛?绗?涓?涓?瀛???????n浣??借?句負1锛?绗?n+1浣?璁句負0锛????㈠????????涓や?涓?寰?璁句負10???╀???娌℃????????浜?杩??朵?锛??ㄩ?ㄤ負杩?涓?绗??風??unicode????

涓?琛ㄦ?葷?浜?缂???瑙???锛?瀛?姣?x琛ㄧず???ㄧ?????浣???

Unicode绗??瘋????| UTF-8缂????瑰?

UTF瀛????奧????????????????? (????杩??? |

(浜?杩???

--------------------+---------------------------------------------

涓?涓?瀛??? 0000 0000-0000 007F | 0xxxxxxx

涓や釜瀛??? 0000 0080-0000 07FF | 110xxxxx

10xxxxxx

涓?涓?瀛??? 0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx

??涓?瀛??? 0001

0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

涓???? 杩???浠ユ?瀛???涓モ??涓轟?锛?婕?绀哄?浣?瀹???TF-8缂?????

宸茬?モ??涓モ????unicode??4E25(100111000100101)锛??規??涓?琛????浠ュ????E25澶??ㄧ??涓?琛??????村??(0000 0800-0000

FFFF)锛???姝も??涓モ????UTF-8缂?????瑕?涓?涓?瀛???锛??蟲?煎?????1110xxxx 10xxxxxx

10xxxxxx?????跺??锛?浠???涓モ????????涓?涓?浜?杩??朵?寮?濮?锛?渚?娆′???????濉??ユ?煎?涓???x锛?澶??虹??浣?琛???杩??峰氨寰??頒?锛???涓モ????UTF-8缂???????11100100

10111000 10100101??锛?杞??㈡??????杩??跺氨??E4B8A5??

6. Unicode涓?UTF-8涔??寸??杞???

??杩?涓?涓?????渚?瀛?锛???浠ョ???扳??涓モ????Unicode????4E25锛?UTF-8缂?????E4B8A5锛?涓よ????涓?涓??風????瀹?浠?涔??寸??杞??㈠??浠ラ??杩?绋?搴?瀹??般??

??indows骞沖?頒?锛???涓?涓???绠?????杞????規?锛?灏辨??浣跨?ㄥ??缃???璁頒???灏?绋?搴?Notepad.exe????寮???浠跺??锛??瑰?燴????浠垛??????涓?????????涓衡???戒護锛?浼?璺沖?轟?涓?瀵矽??妗?锛??ㄦ??搴??ㄦ??涓?涓???缂???????涓????°??

7. iso8859-1缂???

灞?浜???瀛???缂???锛???澶??借〃绀虹??瀛?绗????存??0-255锛?搴??ㄤ??辨??绯誨????姣?濡?锛?瀛?姣?a??缂???涓??61=97.寰????撅?iso8859-1缂???琛ㄧず??瀛?绗????村?绐?锛???娉?琛ㄧず涓???瀛?绗???浣???锛??變?????瀛???缂???锛???璁$???烘???虹???琛ㄧず??浣?涓??達???浠ュ?澶??跺??锛?浠??т嬌??so8859-1缂????ヨ〃绀恒????涓??ㄥ?澶???璁?涓?锛?榛?璁や嬌?ㄨ?ョ?????姣?濡?锛??界??涓???"涓や釜瀛?涓?瀛???so8859-1缂???锛?浠?b2312缂???涓轟?锛?搴?璇ユ??"d6d0

cec4"涓や釜瀛?绗??浣跨??so8859-1缂??????跺????灏?瀹???寮?涓?涓?瀛????ヨ〃绀猴?"d6 d0 ce

c4"(浜?瀹?涓?锛??ㄨ?琛?瀛??ㄧ???跺??锛?涔???浠ュ????涓哄??浣?澶?????)????濡?????UTF缂???锛?????6涓?瀛???"e4 b8 ad e6 96

87".寰????撅?杩?绉?琛ㄧず?規?杩???瑕?浠ュ???绉?缂???涓哄?虹???

java瀵瑰??绗???澶???

??ava搴??ㄨ蔣浠朵腑锛?浼???澶?澶?娑????闆??绗???缂???锛???浜??版?歸??瑕?杩?琛?姝g‘??璁劇疆锛???浜??版?歸??瑕?杩?琛?涓?瀹?绋?搴???澶?????

1. getBytes(charset)

杩???java瀛?绗?覆澶?????涓?涓??????芥?幫??朵??ㄦ??灏?瀛?绗?覆??琛ㄧず??瀛?绗?????harset缂???锛?骞朵互瀛????瑰?琛ㄧず??娉ㄦ??瀛?绗?覆??ava??瀛?涓??繪????unicode缂???瀛??ㄧ????姣?濡?"涓???"锛?姝e父???典?(?蟲病????璇????跺??)瀛??ㄤ負"4e2d

6587"锛?濡???charset涓?gbk"锛???琚?缂???涓?d6d0 cec4"锛??跺??杩???瀛???"d6 d0 ce

c4".濡???charset涓?utf8"????????"e4 b8 ad e6 96 87".濡?????"iso8859-1"锛????變???娉?缂???锛?????杩??? "3f

3f"(涓や釜??????

java?? .class绫葷??缂???涓猴?unicode;

windows 榛?璁ょ??缂???涓猴?涓???锛?gb2312; ?辨??锛?iso8859;

String str = "寮?涓?" ;

byte[] jiema= str.getBytes("gb2312") ; //瑙g??

String?? bianma = new String(jiema,"UTF-8");//缂??? 濡???涓??㈢??瑙g??涓?瀵????藉?虹?伴??棰?

2. new String(charset)

杩???java瀛?绗?覆澶????????涓??????芥?幫???涓?涓?涓??芥?扮??浣??ㄧ?稿??锛?灏?瀛????扮?????harset缂???杩?琛?缁???璇???锛?????杞???負unicode瀛??ㄣ??????涓?杩?etBytes??渚?瀛?锛?"gbk"

??"utf8"?藉??浠ュ??烘?g‘??缁???"4e2d 6587"锛?浣?iso8859-1????????浜?"003f 003f"(涓や釜??????

??涓?tf8??浠ョ?ㄦ?ヨ〃绀?缂???????瀛?绗????浠?ew String( str.getBytes( "utf8" )锛? "utf8" ) ===

str锛??沖???ㄥ??????

3. setCharacterEncoding()

璇ュ?芥?扮?ㄦ?ヨ?劇疆http璇鋒??????稿???缂?????

瀵逛?request锛???????浜ゅ??瀹圭??缂???锛???瀹?????浠ラ??杩?getParameter()???存?ヨ?峰?姝g‘??瀛?绗?覆锛?濡???涓???瀹?锛???榛?璁や嬌??so8859-1缂???锛???瑕?杩?涓?姝ュ???????瑙?涓?杩?琛ㄥ??杈???.?煎?娉ㄦ???????ㄦ?ц?setCharacterEncoding()涔???锛?涓??芥?ц?浠諱?getParameter()??java

doc涓?璇存??锛?This method must be called prior to reading request parameters or

reading

input using

getReader()????涓?锛?璇ユ??瀹???瀵?OST?規?????锛?瀵?ET?規???????????????锛?搴?璇ユ???ㄦ?ц?绗?涓?涓?getParameter()???跺??锛?java灏?浼????х???????????????浜ゅ??瀹癸?????缁???getParameter()涓???杩?琛?????锛???浠?etCharacterEncoding()????????瀵逛?GET?規???浜よ〃????锛???浜ょ????瀹瑰??RL涓?锛?涓?寮?濮?灏卞凡缁????х???????????????浜ゅ??瀹癸?setCharacterEncoding()???跺氨??????

瀵逛?response锛???????瀹?杈??哄??瀹圭??缂???锛????訛?璇ヨ?劇疆浼?浼???缁?娴?瑙??????璇?娴?瑙??ㄨ??哄??瀹規?????ㄧ??缂?????

4. 澶???杩?绋?

涓??㈠????涓や釜??浠h〃?х??渚?瀛?锛?璇存??java瀵圭??????抽??棰???澶????規???

4.1. 琛ㄥ??杈???

User input *(gbk锛?d6d0 cec4) browser *(gbk锛?d6d0 cec4) web server

iso8859-1(00d6 00d 000ce 00c4) class锛???瑕???lass涓?杩?琛?澶???锛?getbytes("iso8859-1")涓?6 d0

ce c4锛?new String("gbk")涓?6d0 cec4锛???瀛?涓?浠?nicode缂?????涓?e2d 6587.

l ?ㄦ?瘋??ョ??缂????瑰???椤甸?㈡??瀹???缂??????籌?涔????ㄦ?風????浣?绯葷????籌???浠ユ??涓?纭?瀹???锛?涓?渚?浠?bk涓轟???

l 浠?browser??eb

server锛???浠ュ?ㄨ〃??涓???瀹???浜ゅ??瀹規?朵嬌?ㄧ??瀛?绗???锛?????浼?浣跨?ㄩ〉?㈡??瀹???缂???????濡?????rl涓??存?ョ??????瑰?杈??ュ???幫????剁???寰?寰?????浣?绯葷???韬???缂???锛???涓鴻??跺??椤甸?㈡???熾??涓?杩頒??т互gbk缂???涓轟???

l Web

server?ユ?跺?扮????瀛???娴?锛?榛?璁ゆ??getParameter)浼?浠?so8859-1缂???澶???涔?锛?缁?????涓?姝g‘??锛???浠ラ??瑕?杩?琛?澶?????浣?濡???棰???璁劇疆浜?缂???(??杩?request.

setCharacterEncoding ())锛????藉??存?ヨ?峰???版?g‘??缁?????

l ?ㄩ〉??腑??瀹?缂?????涓?濂戒???锛????????藉け?繪?у?訛???娉???瀹?姝g‘??缂?????

4.2. ??浠剁?璇?

??璁炬??浠舵??gbk缂???淇?瀛???锛???缂?璇???涓ょ?缂??????╋?gbk????iso8859-1锛???????涓???windows??榛?璁ょ???锛???????linux??榛?璁ょ???锛?褰??朵???浠ュ?ㄧ?璇??舵??瀹?缂?????

Jsp *(gbk锛?d6d0 cec4) java file *(gbk锛?d6d0 cec4) compiler read

uincode(gbk锛? 4e2d 6587锛? iso8859-1锛? 00d6 00d 000ce 00c4) compiler write utf(gbk锛?

e4b8ad e69687锛? iso8859-1锛? *) compiled file unicode(gbk锛? 4e2d 6587锛? iso8859-1锛?

00d6 00d 000ce 00c4) class.??浠ョ??bk缂???淇?瀛?锛?????so8859-1缂?璇???缁?????涓?姝g‘????

class unicode(4e2d 6587) system.out / jsp.out gbk(d6d0 cec4) os console /

browser.

l ??浠跺??浠ヤ互澶?绉?缂????瑰?淇?瀛?锛?涓???windows涓?锛?榛?璁や負ansi/gbk.

l

缂?璇??ㄨ?誨????浠舵?訛???瑕?寰??版??浠剁??缂???锛?濡???????瀹?锛???浣跨?ㄧ郴缁?榛?璁ょ?????涓???class??浠訛???浠ョ郴缁?榛?璁ょ???淇?瀛???锛???浠ョ?璇?涓?浼??洪??棰?锛?浣?瀵逛?jsp??浠訛?濡????ㄤ腑??windows涓?缂?杈?淇?瀛?锛????ㄧ講?ㄨ?辨??linux涓?杩?琛?/缂?璇?锛???浼??虹?伴??棰?????浠ラ??瑕???sp??浠朵腑??ageEncoding??瀹?缂?????

l Java缂?璇????跺??浼?杞??㈡??缁?涓???unicode缂???澶???锛?????淇?瀛????跺????杞???負utf缂?????

l

褰?绯葷?杈??哄??绗????跺??锛?浼?????瀹?缂???杈??猴?瀵逛?涓???windows涓?锛?System.out灏?浣跨??bk缂???锛???瀵逛?response(娴?瑙???锛???浣跨??sp??浠跺ご??瀹???contentType锛???????浠ョ?存?ヤ負response??瀹?缂????????訛?浼???璇?browser缃?椤電??缂?????濡???????瀹?锛???浼?浣跨??so8859-1缂?????瀵逛?涓???锛?搴?璇ヤ負browser??瀹?杈??哄??绗?覆??缂?????

l

browser?劇ず缃?椤電???跺??锛?棣???浣跨??esponse涓???瀹???缂???(jsp??浠跺ご??瀹???contentType??缁?涔???????esponse涓?)锛?濡???????瀹?锛???浼?浣跨?ㄧ?椤典腑meta椤規??瀹?涓???contentType.

5. ??澶?璁劇疆

瀵逛?web搴??ㄧ?搴?锛???缂??????崇??璁劇疆?????芥?闆?涓???

5.1. jsp缂?璇?

??瀹???浠剁??瀛??ㄧ???锛?寰????撅?璇ヨ?劇疆搴?璇ョ疆浜???浠剁??寮?澶淬??渚?濡?锛??????锛?瀵逛?涓???class??浠訛???浠ュ?ㄧ?璇????跺????瀹?缂?????

5.2. jsp杈???

??瀹???浠惰??哄??rowser??浣跨?ㄧ??缂???锛?璇ヨ?劇疆涔?搴?璇ョ疆浜???浠剁??寮?澶淬??渚?濡?锛???璇ヨ?劇疆??response.setCharacterEncoding("GBK")绛?????

5.3. meta璁劇疆

??瀹?缃?椤典嬌?ㄧ??缂???锛?璇ヨ?劇疆瀵歸????缃?椤靛挨?舵??浣??ㄣ????涓洪????缃?椤墊??娉?????sp??璁劇疆锛???涓?涔???娉??ц?response.setCharacterEncoding()??渚?濡?锛?

濡??????堕???ㄤ?jsp杈??哄??meta璁劇疆涓ょ?缂?????瀹??瑰?锛???jsp??瀹???浼???????涓?sp??瀹????存?ヤ??闆??esponse涓???

??瑕?娉ㄦ??????锛?apache??涓?涓?璁劇疆??浠ョ???缂?????瀹???缃?椤墊??瀹?缂???锛?璇ユ??瀹?绛???浜?jsp??缂?????瀹??瑰?锛???浠ヤ?瑕???????缃?椤典腑??meta??瀹?????浠ユ??浜哄緩璁??抽??璇ヨ?劇疆??

5.4. form璁劇疆

褰?娴?瑙??ㄦ??浜よ〃?????跺??锛???浠ユ??瀹??稿???缂?????渚?濡?锛???涓???涓?蹇?涓?浣跨?ㄨ?ヨ?劇疆锛?娴?瑙??ㄤ??存?ヤ嬌?ㄧ?椤電??缂?????

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

棣???浠?缁?涓ょ?瀛?绗??? gb2312 ?? gbk

??gb2312 绠?浣?涓???缂???

??gbk??? 涓???瀛?绗???? ????绻?浣?涓???

1. ??瀹?jsp??浠堕????瀹圭????缂????瑰?

pageEncoding="gb2312"%>

2. ??瀹?html??浠堕????瀹圭??缂????瑰?

content="text/html; charset=gb2312" />

3. 褰???搴??ㄦ?風??璇鋒??訛?杈??哄?扮?ㄦ?鋒?瑙??ㄤ???缂????瑰?

?稿?浜???????浠g??

response.setContentType("text/html; charset=gb2312");

4. ???ㄦ?蜂???杩??ョ?????頒?涓烘??瀹???缂???

request.setCharacterEncoding("gb2312");

5. 瀵規??

request.setCharacterEncoding("gb2312");

//璁劇疆杈??ョ????煎?

response.setContentType("text/html; charset=gb2312");

//璁劇疆杈??虹????煎?

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

涓?涓??充?涓???瀛?绗?漿?㈢??绋?搴?锛?

packagecom.company.util.charset;importsun.io.CharToByteConverter;importsun.io.ByteToCharConverter;importcom.company.util.common.Configure;

public classUnicodeToAscii

{

publicUnicodeToAscii ()

{super();

}

public staticString AsciiToChineseString ( String s )

{if ( s == null)returns;char[] orig =s.toCharArray ();byte[] dest = new byte[ orig.length ];for ( int i = 0; i < orig.length; i++)

dest[ i ]= ( byte ) ( orig[ i ] & 0xFF);try{

ByteToCharConverter toChar= ByteToCharConverter.getConverter ( "gb2312");return newString ( toChar.convertAll ( dest ) );

}catch( Exception e )

{

System.out.println ( e );returns;

}

}

public staticString ChineseStringToAscii ( String s )

{if ( s == null)returns;try{

CharToByteConverter toByte= CharToByteConverter.getConverter ( "gb2312");byte[] orig =toByte.convertAll ( s.toCharArray () );char[] dest = new char[ orig.length ];for ( int i = 0; i < orig.length; i++)

dest[ i ]= ( char ) ( orig[ i ] & 0xFF);return newString ( dest );

}catch( Exception e )

{

System.out.println ( e );returns;

}

}

public static String ChineseStringToAscii ( String s, booleanbl )

{if ( !bl )returns;else

returnChineseStringToAscii ( s );

}

public static String AsciiToChineseString ( String s, booleanbl )

{if ( !bl )returns;else

returnAsciiToChineseString ( s );

}

public staticString getFirstCharOfString ( String str )

{

String firstChar= "*";if ( str == null || str.length () <= 0)returnfirstChar;try{byte firstCharBytes[] = new byte[ 2];intgbcode;

firstCharBytes[0 ] = str.getBytes ( "gb2312" )[ 0];

gbcode= firstCharBytes[ 0 ] & 0x000000ff;if ( str.length () > 1 || gbcode >= 0xb0)

{

firstCharBytes[1 ] = str.getBytes ( "gb2312" )[ 1];

gbcode= ( firstCharBytes[ 0 ] & 0x000000ff ) * 0x100 + ( firstCharBytes[ 1 ] & 0x000000ff);

}if ( gbcode >= 0xb0a1 && gbcode <= 0xb0c4)

firstChar= "a";else if ( gbcode >= 0xb0c5 && gbcode <= 0xb2c0)

firstChar= "b";else if ( gbcode >= 0xb2c1 && gbcode <= 0xb4ed)

firstChar= "c";else if ( gbcode >= 0xb4ee && gbcode <= 0xb6e9)

firstChar= "d";else if ( gbcode >= 0xb6ea && gbcode <= 0xb7a1)

firstChar= "e";else if ( gbcode >= 0xb7a2 && gbcode <= 0xb8c0)

firstChar= "f";else if ( gbcode >= 0xb8c1 && gbcode <= 0xb9fd)

firstChar= "g";else if ( gbcode >= 0xb9fe && gbcode <= 0xbbf6)

firstChar= "h";else if ( gbcode >= 0xbbf7 && gbcode <= 0xbfa5)

firstChar= "j";else if ( gbcode >= 0xbfa6 && gbcode <= 0xc0ab)

firstChar= "k";else if ( gbcode >= 0xc0ac && gbcode <= 0xc2e7)

firstChar= "l";else if ( gbcode >= 0xc2e8 && gbcode <= 0xc4c2)

firstChar= "m";else if ( gbcode >= 0xc4c3 && gbcode <= 0xc5b5)

firstChar= "n";else if ( gbcode >= 0xc5b6 && gbcode <= 0xc5bd)

firstChar= "o";else if ( gbcode >= 0xc5be && gbcode <= 0xc6d9)

firstChar= "p";else if ( gbcode >= 0xc6da && gbcode <= 0xc8ba)

firstChar= "q";else if ( gbcode >= 0xc8bb && gbcode <= 0xc8f5)

firstChar= "r";else if ( gbcode >= 0xc8f6 && gbcode <= 0xcbf9)

firstChar= "s";else if ( gbcode >= 0xcbfa && gbcode <= 0xcdd9)

firstChar= "t";else if ( gbcode >= 0xcdda && gbcode <= 0xcef3)

firstChar= "w";else if ( gbcode >= 0xcef4 && gbcode <= 0xd1b8)

firstChar= "x";else if ( gbcode >= 0xd1b9 && gbcode <= 0xd4d0)

firstChar= "y";else if ( gbcode >= 0xd4d1 && gbcode <= 0xd7f9)

firstChar= "z";elsegbcode= firstCharBytes[ 0];if ( gbcode >= 'A' && gbcode <= 'Z')

gbcode+= 32;if ( gbcode >= 'a' && gbcode <= 'z')

firstChar= String.valueOf ( ( char) gbcode );

}catch( Exception e )

{

System.out.println ("getFirstCharOfString Exception: " +e.getMessage () );

}returnfirstChar;

}

}

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

?????e?ヨ?芥???闆?轟腑????璇存??瑙g??缂???姝g‘

String str = values[i];

System.out.println("1:" + new

String(str.getBytes("GBK"),"ISO8859_1"));

System.out.println("2:"

+new String(str.getBytes("GBK"),"utf-8"));

System.out.println("3:" +new

String(str.getBytes("GBK"),"GB2312"));

System.out.println("4:"

+new String(str.getBytes("GBK"),"GBK"));

System.out.println("5:"

+new String(str.getBytes("ISO8859_1"),"GBK"));

System.out.println("6:" +new

String(str.getBytes("ISO8859_1"),"ISO8859_1"));

System.out.println("7:" +new

String(str.getBytes("ISO8859_1"),"GB2312"));

System.out.println("8:" +new

String(str.getBytes("ISO8859_1"),"utf-8"));

System.out.println("9:" +new

String(str.getBytes("utf-8"),"GBK"));

System.out.println("10:"

+new String(str.getBytes("utf-8"),"utf-8"));

System.out.println("11:" +new

String(str.getBytes("utf-8"),"GB2312"));

System.out.println("12:"

+new String(str.getBytes("utf-8"),"ISO8859_1"));

System.out.println("13:" +new

String(str.getBytes("GB2312"),"GB2312"));

System.out.println("14:" +new

String(str.getBytes("GB2312"),"ISO8859_1"));

System.out.println("15:" +new

String(str.getBytes("GB2312"),"utf-8"));

System.out.println("16:"

+new String(str.getBytes("GB2312"),"GBK"));

????锛?