字节编码学习

字节编码学习

文章目录

    • 字节编码学习
      • 01_字节与ASCII码表
      • 02_每个国家都有独特的码表
      • 03_国际化UTF-8
      • 04_编码本和解码本不一致,乱码

01_字节与ASCII码表

public class Demo01 {
    public static void main(String[] args) {
        // 计算机的底层全部都是字节 ---- ----
        // 一个字节由八个位构成的
        // 每个位状态只有 0 1
        // 一个字节的所有状态 2^8状态=256个状态
        // 美国发明了计算机的字节,存储各种各样的信息,自己的文字
        // 一个字节的一半就可以了
        // 0--- ----
        // 建立了一张数字与文字的映射表
        // 0~127 97 a
        char c1 = 97;
        char c2 = 'a';
        System.out.println(c1);
        System.out.println(c2);
        // ASCII是最最基础的一张码表 0-127
    }
}

字节编码学习_第1张图片

字节编码学习_第2张图片

02_每个国家都有独特的码表

public class Demo02 {
    public static void main(String[] args) {
        // 计算机的底层全部都是字节 ---- ----
        // 一个字节由八个位构成的
        // 每个位状态只有 0 1
        // 一个字节的所有状态 2^8状态=256个状态
        // ASCII是最最基础的一张码表
        // 其它国家,中国、日本、韩国...
        // 码表本质都是一个数字对应一个文字
        // 至少要两个字节 256*256=65536
        // 中国 GB2312 0-127 兼容ASCII码表 97应该是a的意思  3322೺
        // 日本 JP.... 0-127 兼容ASCII码表 97应该是a的意思  3322.
        // 韩国 HG.... 0-127 兼容ASCII码表 97应该是a的意思  3322.
        // 地球上所有的码表,都必须兼容ASCII码表,这就是英文不会乱码的原因
        char c = 3322;
        System.out.println(c);
        // 乱码的原因,是解码和编码,没有采用同一张码表
    }
}

字节编码学习_第3张图片

03_国际化UTF-8

public class Demo03 {
    public static void main(String[] args) {
        // 计算机的底层全部都是字节 ---- ----
        // 中国 GB2312 0-127 兼容ASCII码表 97应该是a的意思  3322?
        // 日本 JP.... 0-127 兼容ASCII码表 97应该是a的意思  3322.
        // 韩国 HG.... 0-127 兼容ASCII码表 97应该是a的意思  3322.
        // 地球上码表不兼容,国际化组织,出了一张UTF-8编码表,保罗万象
        // 1. 英文只有一个字节
        // 2. 中文有三个字节
        // 国际化组织要求每一款浏览器,必须支持UTF-8
    }
}

字节编码学习_第4张图片

04_编码本和解码本不一致,乱码

字节编码学习_第5张图片

你可能感兴趣的:(java,学习)