導航:首頁 > 編程語言 > javautf8轉gbk

javautf8轉gbk

發布時間:2022-08-10 11:10:24

java utf 8轉gbk

utf8和gb2312本來就是兩個不同的字元集,對於中文來說,它們的編碼並不會相同。如果剛開始的字元是utf8的,那麼轉換為gb2312後自然會是亂碼;如果初始時是gb2312的中文,而後經utf8中間編碼後又從utf8轉為gb2312後不會是亂碼的。

我想是這樣的!

這有往篇文章,是關於java字元編碼相關的,講的很詳細,有代碼示例,你可以去看一下:http://vinter.javaeye.com/blog/670502

⑵ 有沒有做過Java的UTF-8編碼轉GBK



importjava.io.BufferedReader;
importjava.io.BufferedWriter;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.InputStreamReader;
importjava.io.OutputStreamWriter;


publicclassConvertCharset
{
=System.getProperty("line.separator");

(Stringpath,Stringback,Stringcs1,Stringcs2)
{
try
{
Filedir=newFile(path);
//adirectory,notafile
if(dir.isDirectory())
{
File[]files=dir.listFiles();
for(inti=0;i<files.length;i++)
{
Filedirt=files[i];
Stringfn=dirt.getName();
Stringname=path+File.separator+fn;

//recursion
if(dirt.isDirectory())
{
convertCharset(name,back+File.separator+fn,cs1,cs2);
}
else
{
//write
Filedest=newFile(back);
if(!dest.exists())
{
dest.mkdirs();
}
FileOutputStreamfos=newFileOutputStream(back+File.separator+fn);
OutputStreamWriterosw=newOutputStreamWriter(fos,cs2);
BufferedWriterbw=newBufferedWriter(osw);

//read
FileInputStreamfis=newFileInputStream(name);
InputStreamReaderisr=newInputStreamReader(fis,cs1);
BufferedReaderbr=newBufferedReader(isr);
Stringline=null;
while(null!=(line=br.readLine()))
{
bw.write(line+SEPARATOR);
}
//write
fos.flush();
osw.flush();
bw.flush();
bw.close();
osw.close();
fos.close();

//read
br.close();
isr.close();
fis.close();
}
}
}
//asinglefile
else
{
//write
Filedest=newFile(back);
if(!dest.exists())
{
dest.mkdir();
}
FileOutputStreamfos=newFileOutputStream(back+File.separator+dir.getName());
OutputStreamWriterosw=newOutputStreamWriter(fos,cs2);
BufferedWriterbw=newBufferedWriter(osw);

//read
FileInputStreamfis=newFileInputStream(path);
InputStreamReaderisr=newInputStreamReader(fis,cs1);
BufferedReaderbr=newBufferedReader(isr);
Stringline=null;
while(null!=(line=br.readLine()))
{
bw.write(line+SEPARATOR);
}
//write
fos.flush();
osw.flush();
bw.flush();
bw.close();
osw.close();
fos.close();

//read
br.close();
isr.close();
fis.close();
}
System.out.println("ConvertSuccess!");
}
catch(Exceptione)
{
e.printStackTrace();
System.out.println("ConvertFailed!");
}
}

publicstaticvoidmain(String[]args)
{
//asinglefile
convertCharset("I:\2013313workspace\Yaojiangji\src\yaojiangji\paixu.java",
"I:\2013313workspace\Yaojiangji\back",
"UTF-8",
"GBK");

//notafile,it'sadirectory
// convertCharset("I:\2013313workspace\Yaojiangji\src\yaojiangji",
// "I:\2013313workspace\Yaojiangji\back\yaojiangji",
// "UTF-8",
// "GBK");
}
}

⑶ java怎麼把UTF-8字元串轉成GBK字元串

java不同編碼之間進行轉換,都需要使用unicode作為中轉。

以utf-8轉gbk為例,示例代碼如下:

Stringt="這是一個字元串aaa111";
Stringutf8=newString(t.getBytes("UTF-8"));
System.out.println(utf8);
Stringunicode=newString(utf8.getBytes(),"UTF-8");
System.out.println(unicode);
Stringgbk=newString(unicode.getBytes("GBK"));
System.out.println(gbk);

⑷ java txt文件utf-8轉GBK的問題

步驟一:直接把文件備份。

步驟二:打開文件,選擇「另存為」。

步驟三:編碼格式從「UTF-8"切換到「GBK」(默認)。保存即可。

⑸ 高分求一個utf-8轉gbk的方法 Java

這要看它提供的介面是怎樣的
new String(byte[],String)
要轉碼,這個就足夠了,不用這個還能有啥樣的。用這個不會錯的
1。先確保下你成功的轉過來了,最好能逐行測試,每句完後都看下格式,最好能寫個測試代碼把每句完後的格式都輸出下看看,字元串和格式都要分別取來看
2。確保你的utfStr是UTF8的,確保它提供的介面是按GBK接收的。

只要這兩點滿足應該不會有問題的,多檢查下吧
再注意下看是不是MAS的版本不同造成的

⑹ java中UTF-8轉GBK為什麼不會出現中文亂碼

Java中UTF-8轉GBK之所以不會出現中文亂碼,是因為UTF-8編碼為兼容性最大的字元集編碼,它本身就支持中文字元。

Java代碼轉碼範例:
String s = new String(ss.getBytes(),"GBK");
當你的內容本來就是正常的中文字元時,通過上面的語句轉為GBK編碼是不會有任何問題的,但如果你在轉碼之前的字元不是正確的中文字元,或者不是支持中文字元的字元集,那可能就會出現亂碼問題。

UTF-8(8-bit Unicode Transformation Format)是一種針對Unicode的可變長度字元編碼,又稱萬國碼。由Ken Thompson於1992年創建。現在已經標准化為RFC 3629。UTF-8用1到6個位元組編碼UNICODE字元。用在網頁上可以同一頁面顯示中文簡體繁體及其它語言(如英文,日文,韓文)。

在Java開發中,特別是web開發,亂碼是一種很常見而且很頭疼的問題,這常常是由於頁面端、服務端、資料庫等幾處所使用的字元不一致所致,故開發中,保持編碼一致, 往往能減少由於亂碼而帶來的時間浪費,是一件非常重要的事情。

閱讀全文

與javautf8轉gbk相關的資料

熱點內容
海邊散步放鬆解壓一下 瀏覽:21
空調有不帶壓縮機的嗎 瀏覽:61
java職業規劃面試 瀏覽:985
pdf填色 瀏覽:145
ie運行java 瀏覽:637
單相空調壓縮機的構造 瀏覽:136
迅雷app的回收站在哪裡啊 瀏覽:595
加密技術的特點包括4點 瀏覽:561
pcre源碼包 瀏覽:67
崑山ug數控編程培訓 瀏覽:520
integer類源碼 瀏覽:819
java排序的時間復雜度 瀏覽:859
伺服器陣列卡壞了怎麼維修 瀏覽:537
shm演算法 瀏覽:520
可愛的程序員陸漓離開 瀏覽:608
如何把掃描文件做成pdf格式 瀏覽:626
php個性qq源碼 瀏覽:821
初學c語言顯示源未編譯 瀏覽:247
資產概況源碼 瀏覽:472
dos命令建文件夾命令 瀏覽:381