日期:2014-05-20 浏览次数:20996 次
String s=new String(bs,"GBK");
byte[] bs2=s.getBytes("GBK");
if(Arrays.equals(bs,bs2)){
//非常大的可能是GBK编码
}
------解决方案--------------------
public static byte[] toUTF8(byte[] bs){
try{
String s=new String(bs,"GBK");
byte[] bs2=s.getBytes("GBK");
if(Arrays.equals(bs,bs2)){
return s.getBytes("UTF-8");
}
}
catch(Exception ex){
}
return bs;
}
------解决方案--------------------
因为单纯看文件的字节编码根本看不出来是什么字符集的,所以这个问题是比较头痛。
4楼是个办法。
还有,如果知道文件内容中,有典型汉字、词、短语,在各文档中普遍出现,则拿这些短语的字节码(GBK的和UTF-8的)分别到文件中去匹配,应该可以比较快地识别出文档编码来。