<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">已知字符串编码格式:</span>
String str = new String(aa.getBytes("encode"),"newencode");
其中 aa 为需要转换的字符串 eccode 为字符串 aa 的编码格式 ,newencode 为目的编码格式
未知字符串的编码格式:
public class ChangeChar {
public static String change(String str,String charset) throws UnsupportedEncodingException{
String encode = getEncoding(str);
byte [] data = str.getBytes(encode);
str = new String(data,charset);
return str;
}
public static String getEncoding(String str) {
String encode = "GB2312";
try {
if (str.equals(new String(str.getBytes(encode), encode))) {
String s = encode;
return s;
}
} catch (Exception exception) {
}
encode = "ISO-8859-1";
try {
if (str.equals(new String(str.getBytes(encode), encode))) {
String s1 = encode;
return s1;
}
} catch (Exception exception1) {
}
encode = "UTF-8";
try {
if (str.equals(new String(str.getBytes(encode), encode))) {
String s2 = encode;
return s2;
}
} catch (Exception exception2) {
}
encode = "GBK";
try {
if (str.equals(new String(str.getBytes(encode), encode))) {
String s3 = encode;
return s3;
}
} catch (Exception exception3) {
}
return "";
}
}
在主函数中调用
/**
* aa 为需要转换的字符串
* str 为转换后的字符串
* newencode 为目的编码格式
*/
String str = ChangeChar.change(aa, "newencode");