java代碼轉(zhuǎn)換編碼方式 java轉(zhuǎn)換編碼格式

請問java如何改變字符串的編碼方式

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)系的

java怎樣實(shí)現(xiàn)將GB2312編碼的字符串轉(zhuǎn)換為ISO-8859-1編碼的字符串

通過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()

java轉(zhuǎn)換編碼格式

unicode快進(jìn)鍵,編碼U+23e9

java直接寫字符串即可

System.out.println("\u23e9");

?

但沒發(fā)現(xiàn)和"\x82\x50"的聯(lián)系。

java中GBK編碼格式轉(zhuǎn)成UTF8,用一段方法實(shí)現(xià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)

外貿(mào)網(wǎng)站制作