Ⅰ java String字元串轉UTF-8 hexcode怎麼轉
String s=new String("欲轉換字元串".getBytes(),"utf-8");
String s=new String("欲轉換字元串".getBytes("utf-8"),"utf-8");
其中
s.getBytes("UTF-8");
的意思是以UTF-8的編碼取得位元組
new String(XXX,"UTF-8");
的意思是以UTF-8的編碼生成字元串
Ⅱ java寫文件總是寫成GBK的,怎麼改成UTF8
FileOutputStream fos = new FileOutputStream(path);
Writer out = new OutputStreamWriter(fos, "UTF-8");
out.write(content);
out.close();
fos.close();
利用這個可以設置寫入文件Stream的encoding
Ⅲ java 如何將「你好」轉成UTF-8 「\u4F60\u597D」 這種編碼
你說的是web中,還是java程序中。這樣轉是毫無必要的,utf-8應該兼容中文,但有時候會出現亂碼的情況。簡單的解決方法是,把你要轉換的內容放到記事本中,然後點「另存為」,在對話框的最下面中間部分有個「編碼」,選擇utf-8就行!你要是想著java程序中轉碼,你用的是MyEclipse嗎,要是的話,我再告訴你。最好把問題說清楚!
Ⅳ 怎麼把java輸出格式改成UTF-8編碼
代碼如下:
(Stringname)throwsFileNotFoundException,UnsupportedEncodingException{
FileOutputStreamoutputStream=newFileOutputStream(name);
=newOutputStreamWriter(outputStream,"utf-8");
BufferedWriterwriter=newBufferedWriter(outputWriter);
returnwriter;
}
Ⅳ java中文亂碼,能說下string.getBytes()和new String()轉碼是,具體點。
1、Java中,【String.getBytes(String decode)】的方法,會根據指定的decode,編碼返回某字元串在該編碼下的byte數組表示,例如:
byte[] b_gbk = "中".getBytes("GBK");
byte[] b_utf8 = "中".getBytes("UTF-8");
byte[] b_iso88591 = "中".getBytes("ISO8859-1")
上面三行代碼表示:分別返回「中」這個漢字在GBK、UTF-8和ISO8859-1編碼下的byte數組表示,此時b_gbk的長度為2,b_utf8的長度為3,b_iso88591的長度為1。
2、而通過【new String(byte[], decode)】的方式來還原這個「中」字時,實際是使用decode指定的編碼來將byte[ ]解析成字元串,例如:
String s_gbk = new String(b_gbk,"GBK");
String s_utf8 = new String(b_utf8,"UTF-8");
String s_iso88591 = new String(b_iso88591,"ISO8859-1");
s_gbk和s_utf8都是「中」,而只有s_iso88591是一個不認識 的字元,因為ISO8859-1編碼的編碼表中,根本就沒有包含漢字字元,當然也就無法通過"中".getBytes("ISO8859-1")。
因此,通過【String.getBytes(String decode)】方法來得到byte[ ]時,要確定decode的編碼表中確實存在String表示的碼值,這樣得到的byte[ ]數組才能正確被還原。
(5)java漢字轉utf8擴展閱讀
java中文編碼避免亂碼
1、為了讓中文字元適應某些特殊要求(如http header頭要求其內容必須為iso8859-1編碼),可能會通過將中文字元按照位元組方式來編碼的情況,比如:
String s_iso88591 = new String("中".getBytes("UTF-8"),"ISO8859-1")
2、上述例子中的s_iso8859-1字元串實際是三個在 ISO8859-1中的字元,在將這些字元傳遞到目的地後,目的地程序再通過相反的方式:
String s_utf8 = new String(s_iso88591.getBytes("ISO8859-1"),"UTF-8")
來得到正確的中文漢字。這樣就既保證了遵守協 議規定、也支持中文。
3、String.getBytes(String decode)方法會根據指定的decode編碼返回某字元串在該編碼下的byte數組表示這里是encode ,not decode,從字元串到位元組數組是編碼的過程,從位元組數組到字元串(即 new String(byte[] , charsetname))才是解碼的過程。
Ⅵ 求java轉碼ISO-8859-1轉UTF-8漢字顯示不全 補救方案
||給你寫個過濾器。你試試。
public class ChStr {
public static String toChinese(String strvalue) {
try {
if (strvalue == null) {
return "";
} else {
strvalue = new String(strvalue.getBytes("ISO8859_1"), "GBK").trim();
return strvalue;
}
} catch (Exception e) {
return "";
}
}
//處理字元串中的回空值答
public static final String nullToString(String v, String toV) {
if (v == null || "".equals(v)) {
v = toV;
}
return v;
}
}
Ⅶ 如何使用Java代碼將GBK編碼格式的工程轉換為UTF-8編碼格式的工程
不寫代碼的話可以直接找個批量轉換文本編碼的軟體搞定。
寫代碼稍微復雜一些。
新建一個目錄
遍歷遞歸原工程目錄,以gbk編碼讀取,以utf8編碼寫文件到新的目錄下即可。
手動重命名工程為 工程備份
手動重命名新目錄為 工程名
檢查無誤後刪除工程備份
Ⅷ java編碼問題,GBK與UTF-8轉換
publicclassDemo{
publicstaticvoidmain(String[]args){
byte[]b1="你好".getBytes("utf-8");
byte[]b2=newString(b1,0,b1.length,"UTF-8").getBytes("GBK");
System.out.println(newString(b1,0,b1.length));
System.out.println(newString(b2,0,b2.length));
}
}
//一個小例子,您可以看一版下權。
Ⅸ Java中如何把GBK編碼的字元串轉成utf-8編碼
java不同編碼之間進行轉換,都需要使用unicode作為中轉。
以utf-8轉gbk為例,示例代內碼如下:
String t = "這是一容個字元串aaa111";
String gbk= new String(t.getBytes( "GBK"));
System.out.println(gbk);
String unicode = new String(gbk.getBytes(),"GBK");
System.out.println(unicode);
String utf8= new String(unicode.getBytes("UTF-8"));
System.out.println(utf8);