编码解码以及乱码

每一个编码表都有自己一定的编码规则乱码:造成的原因是在写的时候和读取的时候使用的码表不相同。解决乱码就要保证读取写码表一致。编码的过程,就是把字符数据根据码表查到对应的编码值,然后把这些编码值变成字节数据,这个过程就称为编码。解码的过程,就是把字节数据根据对应的编码表,查到对应的字符数据,最后得到字符数据。

import java.io.UnsupportedEncodingException;

public class IoDemo{
    public static void main(String[] args) throws UnsupportedEncodingException {
        methord1();
        methord2();
    }

    private static void methord2() throws UnsupportedEncodingException {
        // TODO Auto-generated method stub
        byte[] b={-28,-67,-96-27,-91,-67};
        //解码
        String s=new String(b,"gbk");
        byte[] b2=s.getBytes("gbk");
        String s2=new String(b2,"utf-8");
        System.out.println(s2);
    }

    private static void methord1() throws UnsupportedEncodingException {
        // TODO Auto-generated method stub
        String s="李帅";
        byte[] b=s.getBytes("utf-8");
        for (byte c : b) {
            int a=c&0b1111_1111;
            System.out.println(Integer.toBinaryString(c));
        }
    }
}

次代码完成了解码,编码的过程,如果出现乱码现象,就使用当前编码表进行编码,然后再使用想要使用的编码表进行解码。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容