byte[] b=string.getBytes("GB2312");//使用GB2312編碼方式對(duì)字符串string進(jìn)行編碼
創(chuàng)新互聯(lián)建站2013年至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元宜春做網(wǎng)站,已為上家服務(wù),為宜春各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220
//這時(shí)要想將字節(jié)數(shù)組b的內(nèi)容正確解碼只能使用GB2312的編碼方式進(jìn)行解碼,即
String str=new String(b,"GB2312");//這里若使用UTF-8編碼方式來進(jìn)行解碼就會(huì)亂碼
//將eclipse默認(rèn)的編碼方式改為UTF-8,只是用該編碼方式對(duì).java源文件進(jìn)行編碼保存
//這個(gè)對(duì)new String(string.getBytes("GB2312"),"UTF-8")沒啥影響的
//因?yàn)閺膉ava源文件獲取字符串string時(shí),已經(jīng)通過UTF-8編碼方式進(jìn)行解碼了
//而string.getBytes("GB2312")是使用指定的編碼方式對(duì)字符串string進(jìn)行從新編碼
//這兩者之間沒啥關(guān)系的
通過JDK1.6知道String類中g(shù)etBytes(”編碼“)方法可以講一個(gè)數(shù)用指定的編碼轉(zhuǎn)成一個(gè)字節(jié)數(shù)組,String中通過指定的 charset解碼指定的 byte 數(shù)組,構(gòu)造一個(gè)新的?String。代碼如下:
try{
String s = "java學(xué)習(xí)";
System.out.println(s);
String result = new String(s.getBytes("GB2312"),"iso-8859-1");
System.out.println(s);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
擴(kuò)展資料:
getBytes() 方法有兩種形式:
1、getBytes(String charsetName):?使用指定的字符集將字符串編碼為 byte 序列,并將結(jié)果存儲(chǔ)到一個(gè)新的 byte 數(shù)組中。
2、getBytes():?使用平臺(tái)的默認(rèn)字符集將字符串編碼為 byte 序列,并將結(jié)果存儲(chǔ)到一個(gè)新的 byte 數(shù)組中。
參考資料:
百度百科-getBytes()
unicode快進(jìn)鍵,編碼U+23e9
java直接寫字符串即可
System.out.println("\u23e9");
?
但沒發(fā)現(xiàn)和"\x82\x50"的聯(lián)系。
java中GBK編碼格式轉(zhuǎn)成UTF8編碼格式的方法如下:
public?static?void?main(String[]?args)?throws?Throwable?{
String?errStr?=?"errStr";
System.out.println(recover(errStr));
}
public?static?String?recover(String?str)?throws?Throwable?{
return?new?String(str.getBytes("GBK"),?"UTF-8");
}
其中errStr就是亂碼字符串,按照相反的順序在編碼(用gbk)、解碼(用utf-8)回去,就能得到正確的字符串.
GBK、UTF-8是一種“編碼格式”,是用來序列化或存儲(chǔ)“編號(hào)(數(shù)字)”的一種“格式”;GBK和UTF-8都是用來序列化或存儲(chǔ)unicode編碼的數(shù)據(jù)的,但是分別是2種不同的格式; 除了格式不一樣之外,所關(guān)心的unicode編碼范圍也不一樣,utf-8考慮了很多種不同國家的字符,涵蓋整個(gè)unicode碼表,所以其存儲(chǔ)一個(gè)字符的編碼的時(shí)候,使用的字節(jié)長度也從1字節(jié)到4字節(jié)不等;而GBK只考慮中文——在unicode中的一小部分——的字符,的編碼,所以算好了只要2個(gè)字節(jié)就能涵蓋到絕大多數(shù)常用中文(2個(gè)字節(jié)能表示6w多種字符),所以存儲(chǔ)一個(gè)字符的時(shí)候,所用的字節(jié)長度是固定的;
新聞名稱:java代碼轉(zhuǎn)換編碼方式 java轉(zhuǎn)換編碼格式
當(dāng)前URL:http://muchs.cn/article32/hhissc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、微信公眾號(hào)、搜索引擎優(yōu)化、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站改版、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)