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
扩展资料:
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填补。
参考资料来源:百度百科:UTF-8
工具:
eclipse
方法:
1、打开eclipse主页面,点击【windows】菜单,然后选择【Reference】选项。
2、依次点高卜击左侧的【General】->【Content Types】选项好腔。
3、依次点击左侧【Text】->【Java Source File】,意思是修改Java源文件的编码。也可以选择其他文件,例如Jsp,CSS等,根据需要选择。
4、此时在下方可以看到文件的默认编码。
5、修改文件编码,例如UTF-8,然后友念衫点击【Update】按钮进行批量修改即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)