字节编码学习
文章目录
- 字节编码学习
- 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 achar c1 = 97;char c2 = 'a';System.out.println(c1);System.out.println(c2);// ASCII是最最基础的一张码表 0-127}
}
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);// 乱码的原因,是解码和编码,没有采用同一张码表}
}
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}
}
04_编码本和解码本不一致,乱码