⑴ 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;
(1)stringjavautf8擴展閱讀:
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初級程序 輸入一個字元串,分別輸出他們在ansi、utf8、unicode的編碼
在Java編程中,處理不同編碼的字元串是一項基本技能。例如,你可能需要將一個字元串轉換為UTF-8、ISO8859-1和GBK編碼。這里我們以一個簡單的例子來展示如何實現這一過程。
首先,定義一個字元串text:
String text = "字元串";
接下來,使用`getBytes()`方法將字元串轉換為不同編碼的位元組數組。
UTF-8編碼:
byte[] b_utf8 = text.getBytes("UTF-8");
ISO8859-1編碼:
byte[] b_iso88591 = text.getBytes("ISO8859-1");
GBK編碼:
byte[] b_gbk = text.getBytes("GBK");
為了獲取Unicode編碼的字元串,我們編寫了一個簡單的函數`getUnicode()`。該函數遍歷原始字元串的每個字元,並將其轉換為Unicode編碼。
public static String getUnicode(String source) {
String result = "";
for (int i = 0; i < source.length(); i++) {
char ch = source.charAt(i);
int code = (int) ch;
result += "" + Integer.toHexString(code).toUpperCase() + ";";
}
return result;
}
通過這個函數,你可以得到字元串的Unicode編碼表示。例如:
String unicode = getUnicode(text);
注意,不同的編碼方式會導致字元串在不同環境中顯示為不同的字元。因此,在進行國際化開發時,了解這些編碼方式及其轉換是非常重要的。
在實際應用中,你可能需要根據具體需求選擇合適的編碼方式。例如,UTF-8是目前最廣泛使用的通用編碼方式,支持幾乎所有的字元。
通過以上示例,你可以看到如何在Java中處理不同編碼的字元串。這對於開發國際化應用或處理多語言文本非常重要。
⑶ java 怎麼把一個字元串進行utf8編碼
樓上答得不對,請相信我的方法,已經確認過:
String s="abc";
String s1=URLEncoder.encode(s, "utf-8");
⑷ 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;
}