⑴ 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;
}