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 } }
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_编码本和解码本不一致,乱码