當前位置:首頁 » 編程語言 » javagb2312

javagb2312

發布時間: 2022-05-24 06:09:03

java怎麼把utf-8的字元串轉換為gb2312格式

Java中字元串轉碼,根據實際運用的環境有以下三種方式

1、使用Java.lang.String

這是最常用的方法,先用對應編碼獲取位元組,然後重新構造新編碼,示例代碼如下:

Strings="清山";
byte[]b=s.getBytes("utf-8");//編碼
Stringsa=newString(b,"gb2312");//解碼:用什麼字元集編碼就用什麼字元集解碼

2、java.io.InputStreamReader/OutputStreamWriter:橋轉換

讀寫文件的應用中,可以使用這種方式,直接在IO流構造中轉換,示例代碼如下:

InputStreamis=newFileInputStream("C:/項目進度跟蹤.txt");//文件讀取
InputStreamReaderisr=newInputStreamReader(is,"utf-8");//解碼
OutputStreamos=newFileOutputStream("C:/項目進度跟蹤_gb2312.txt");//文件輸出
OutputStreamWriterosw=newOutputStreamWriter(os,"gb2312");//開始編碼

3、java.nio.Charset

使用nio中的Charset轉換字元,示例代碼如下:

CharsetinSet=Charset.forName("utf-8");//解碼字元集
CharsetoutSet=Charset.forName("gb2312");//編碼字元集
CharsetDecoderde=inSet.newDecoder();//解碼器
CharsetEncoderen=outSet.newEncoder();//編碼

② java中怎樣將GB2312的中文轉換成utf-8編碼

String tempStr="中文";//准備轉換的字元
String result=new String(tempStr.getBytes("GB2312"),"UTF-8");//轉換後的結果

③ Java怎麼將字元串轉換為GB2312原編碼

@Test
publicvoidtest333(){
Stringa="青白";
try{
byte[]b=a.getBytes("GB2312");
System.out.println(bytesToHexFun1(b));

}catch(UnsupportedEncodingExceptione){
e.printStackTrace();
}
}
//將byte數組轉成16進制字元串
(byte[]bytes){
char[]HEX_CHAR={'0','1','2','3','4','5',
'6','7','8','9','a','b','c','d','e','f'};
//一個byte為8位,可用兩個十六進制位標識
char[]buf=newchar[bytes.length*2];
inta=0;
intindex=0;
for(byteb:bytes){//使用除與取余進行轉換
if(b<0){
a=256+b;
}else{
a=b;
}
buf[index++]=HEX_CHAR[a/16];
buf[index++]=HEX_CHAR[a%16];
}
returnnewString(buf);
}

中心思想就是先轉成GB2312的byte數組,再轉成16進制就可以了。

④ java 怎麼把gb2312編碼的中文轉換成utf-8不出現亂碼

爬蟲的話,爬到GB2312網頁的話,得到的位元組流已經是GB2312編碼了。
直接new String(bytes,"GB2312)即可了。

輸出時,通過stream對象指定UTF-8編碼輸出就行了。

⑤ java中介面編碼格式為gb2312的,但是我們實現的類用的是utf-8的,之間怎麼轉換格式

看你的來源是什麼編碼 如果來源是gb2312 要轉成utf-8

那麼就是 String s1 = new String( s.getBytes("ISO8859-1"),"UTF-8" ) ;

⑥ 怎麼將java代碼的編碼方式設置為gb2312

將文件打開。另存為,然後下面會出現一個編碼格式,自己選擇GB2312即可,不過記事本方式是沒gb2312的,找個EditPlus或者其他的文本工具,裡面就有GB2312
可以選擇,或者在myeclipse裡面右鍵文件,點最底下的選擇進去也有一個更換格式的,不過更換了中文會亂碼得重新寫

⑦ Java對GB2312編碼與字元串轉換

getBytes("gb2312") 得到byte[] 數組。

反過來: String s = new String(bytes, "gb2312")

⑧ 請問java是用utf-8編碼還是用GB2312編碼的

XML默認是utf-8..一般做中文網站都可以用gb2312 gbk utf-8 gb18030 都得..要看是咩資料庫..同咩伺服器..用tomcat最好就utf-8啦..mysql都是..utf-8會好地..utf-8用起來會好用地..如果吾是..地咩亂碼問題會出來噶..不過..有個過濾器就吾怕啦..

⑨ java 怎麼 讓 text 輸出 不亂碼 new String(text.getBytes("GB2312"))

上面的代碼相當於將text從GB2312的編碼轉換為默認編碼。
new String(byte[]) 相當於:new String(byte[], defaultCharset),
而默認編碼是通過:
System.getProperty("file.encoding")
獲取到的。
這個參數要麼通過啟動java程序的時候通過vm參數提供(Eclipse通過配置默認編碼可以自動帶入,myeclipse的普通程序也可以,如果是老版本myeclipse的Tomcat即使配置了默認編碼也不行,編碼還是GBK(Windows操作系統)),如果是linux系統,可以通過配置LANG環境變數來定義編碼。
而java的內部編碼都是utf8的,如果要讓上面的輸出不亂碼那麼可以:
1、讓控制台以GBK編碼查看,Eclipse的程序的啟動配置中可以修改
2、讓text先從默認編碼轉換為GB2312,然後上面的代碼再將其從GB2312轉換為默認編碼,此時剛好可以不亂碼。

⑩ java怎樣實現將GB2312編碼的字元串轉換為ISO-8859-1編碼的字元串

通過JDK1.6知道String類中getBytes(」編碼「)方法可以講一個數用指定的編碼轉成一個位元組數組,String中通過指定的 charset解碼指定的 byte 數組,構造一個新的String。代碼如下:

try{

String s = "java學習";

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();

}

(10)javagb2312擴展閱讀:

getBytes() 方法有兩種形式:

1、getBytes(String charsetName):使用指定的字元集將字元串編碼為 byte 序列,並將結果存儲到一個新的 byte 數組中。

2、getBytes():使用平台的默認字元集將字元串編碼為 byte 序列,並將結果存儲到一個新的 byte 數組中。

參考資料:

網路-getBytes()

熱點內容
才兒坊編程 發布:2025-02-13 10:09:58 瀏覽:729
手機存儲速度測試 發布:2025-02-13 10:09:58 瀏覽:368
什麼是安卓客戶端開發 發布:2025-02-13 10:07:48 瀏覽:614
加密脫殼 發布:2025-02-13 10:07:44 瀏覽:639
oppor9怎麼壓縮圖片 發布:2025-02-13 10:06:13 瀏覽:948
雲伺服器app哪個最好 發布:2025-02-13 09:47:53 瀏覽:1000
php計算天數 發布:2025-02-13 09:34:04 瀏覽:869
如何查計算機配置 發布:2025-02-13 09:34:03 瀏覽:682
ubi源碼 發布:2025-02-13 09:28:23 瀏覽:699
做亞馬遜不用雲伺服器行嗎 發布:2025-02-13 09:13:51 瀏覽:876