javastringutf8
❶ java 怎麼把一個字元串進行utf8編碼
樓上答得不對,請相信我的方法,已經確認過:
String s="abc";
String s1=URLEncoder.encode(s, "utf-8");
❷ 怎麼用java把一個字元串進行utf8編碼
String text = 「字元串」;
byte[] b_utf8 = text.getBytes("UTF-8"); //utf-8
byte[] b_iso88591 = text.getBytes("ISO8859-1"); //iso8859-1
byte[] b_gbk = text.getBytes("GBK"); //gbk
string unicode = getUnicode(text);//unicode
public static String getUnicode(String source) {
String result = "";
for (int i = 0; i < source.length(); i++) {
result += "\u"+Integer.toHexString((int) source.charAt(i));
}
return result;
}
❸ java如何把string轉為utf-8
java不同編碼之間進行轉換,都需要使用unicode作為中轉。
String str = "任意字元串";
str = new String(str.getBytes("gbk"),"utf-8");
備注說明:
str.getBytes("UTF-8"); 意思是以UTF-8的編碼取得位元組
new String(XXX,"UTF-8"); 意思是以UTF-8的編碼生成字元串
舉例:
public static String getUTF8XMLString(String xml) {
// A StringBuffer Object
StringBuffer sb = new StringBuffer();
sb.append(xml);
String xmString = "";
String xmlUTF8="";
try {
xmString = new String(sb.toString().getBytes("UTF-8"));
xmlUTF8 = URLEncoder.encode(xmString, "UTF-8");
System.out.println("utf-8 編碼:" + xmlUTF8) ;
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// return to String Formed
return xmlUTF8;
(3)javastringutf8擴展閱讀:
UTF-8編碼規則:
如果只有一個位元組則其最高二進制位為0;如果是多位元組,其第一個位元組從最高位開始,連續的二進制位值為1的個數決定了其編碼的位元組數,其餘各位元組均以10開頭。
實際表示ASCII字元的UNICODE字元,將會編碼成1個位元組,並且UTF-8表示與ASCII字元表示是一樣的。所有其他的UNICODE字元轉化成UTF-8將需要至少2個位元組。每個位元組由一個換碼序列開始。第一個位元組由唯一的換碼序列,由n位連續的1加一位0組成,首位元組連續的1的個數表示字元編碼所需的位元組數。
Unicode轉換為UTF-8時,可以將Unicode二進制從低位往高位取出二進制數字,每次取6位,如上述的二進制就可以分別取出為如下示例所示的格式,前面按格式填補,不足8位用0填補。
❹ java new String(byte[],UTF-8)編碼問題
Windows的記事本編碼用的是系統內碼。
而簡體Windows默認編碼就是GBK,所以你肯定要用GBK來解碼啊。
要不然你就不要自己用byte[]來讀取,而是用BufferedReader來readLine()就好了。
或者你可以試著獲取系統默認編碼。
❺ java如何把string轉為utf-8
可通過以下代碼轉:
/**
*GetXMLStringofutf-8
*
*@returnXML-Formedstring
*/
(Stringxml){
//AStringBufferObject
StringBuffersb=newStringBuffer();
sb.append(xml);
StringxmString="";
StringxmlUTF8="";
try{
xmString=newString(sb.toString().getBytes("UTF-8"));
xmlUTF8=URLEncoder.encode(xmString,"UTF-8");
System.out.println("utf-8編碼:"+xmlUTF8);
}catch(UnsupportedEncodingExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
//returntoStringFormed
returnxmlUTF8;
}
❻ java 按行讀取utf-8文件且處理每行string,將處理後的string寫到一個新的utf-8格式文件,不能有亂碼
代碼沒問題,檢測一下你的xml文件是否是真正的utf-8編碼的文件,不要說,xml文件內容里聲明是utf-8編碼就是utf-8編碼。或者把encoding="UTF-8",改為encoding="GBK",看一下亂不亂碼,如果不亂碼,說明你的xml文件其實是gbk編碼。
❼ java怎麼把把字元轉成utf-8
java不同編碼之間進行轉換,都需要使用unicode作為中轉。
以utf-8轉gbk為例,示例代碼如下:
String t = "這是一個字元串aaa111";
String utf8 = new String(t.getBytes( "UTF-8"));
System.out.println(utf8);
String unicode = new String(utf8.getBytes(),"UTF-8");
System.out.println(unicode);
String gbk = new String(unicode.getBytes("GBK"));
System.out.println(gbk);
❽ java 想輸入對應的 8的字元編碼
java 很方便進行這種轉換 如果輸入是UTF8的位元組用 String s=new String(utf8_bytes, "UTF-8"); //utf8_bytes為byte[]類型 如果輸入是字元串,直接 String s=原返回。 在輸出是轉換gb18030,不輸出時不用轉換。 os.write(s.getBytes("GB18030")); //os為輸出流
❾ 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輸出utf8編碼
給你一點提示:
import java.net.URLEncoder;
yourNewString = URLEncoder.encode(yourString, "UTF-8");
同樣,解碼就把以上都變成Decoder
我這個是內置包,最簡單的方法了,你先試一下吧