當前位置:首頁 » 編程語言 » 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-05-10 03:18:24 瀏覽:603
c語言以什麼結束 發布:2025-05-10 03:18:22 瀏覽:257
160android 發布:2025-05-10 03:03:30 瀏覽:178
pythonstorage 發布:2025-05-10 02:58:38 瀏覽:499
如何查看電腦配置顯卡參數 發布:2025-05-10 02:37:00 瀏覽:106
證券交易密碼在哪裡修改 發布:2025-05-10 02:31:56 瀏覽:839
javafor是什麼意思 發布:2025-05-10 02:23:09 瀏覽:842
學生雲伺服器可以搭建網站嗎 發布:2025-05-10 02:10:36 瀏覽:441
共享的文件怎麼訪問許可權 發布:2025-05-10 02:02:49 瀏覽:166
如何選生信分析伺服器 發布:2025-05-10 01:53:11 瀏覽:409