• 字符的编码与乱码


    来源:《Java编程的逻辑》

            public static void recover(String str)
                    throws UnsupportedEncodingException{
                String[] charsets = new String[]{
                        "windows-1252", "GB18030", "Big5", "UTF-8"};
                for(int i=0; i<charsets.length; i++){
                    for(int j=0; j<charsets.length; j++){
                        if(i! =j){
                            String s = new String(str.getBytes(charsets[i]), charsets[j]);
                            System.out.println("---- 原来编码(A)假设是: "
                                +charsets[j]+", 被错误解读为了(B): "+charsets[i]);
                            System.out.println(s);
                            System.out.println();
                        }
                    }
                }
            }
    

    以上代码使用不同的编码格式进行测试,如果输出有正确的,那么就可以恢复。

    不是所有的乱码形式都是可以恢复的,如果形式中有很多不能识别的字符(如?),
    则很难恢复。另外,如果乱码是由于进行了多次解析和转换错误造成的,也很难恢复。

  • 相关阅读:
    分布式文件系统
    分布式文件系统
    ASP.NET MVC 使用 FluentScheduler 定时器计划任务
    从零开始学 Java
    从零开始学 Java
    从零开始学 Java
    从零开始学 Java
    从零开始学 Java
    从零开始学 Java
    从零开始学 Java
  • 原文地址:https://www.cnblogs.com/jeff-ideas/p/15088990.html
Copyright © 2020-2023  润新知