Char 和编码
char c7 = '\n';
System.out.println("c7=" + c7 + c7 + "***");//49
System.out.println("c7=" + (int)c7);//10
char c8 = 100;
System.out.println("c8=" + c8);//d
// utf-8 3byte
char c9 = '大';
System.out.println("c9=" + (int)c9);//22823 unicode字符集 为这个星球上每一个字符分配一 个唯一的 ID
//编码集:utf-8 gbk gb2312 iso-8859-1 big5
//乱码产生的原因:编码和解码的规则不一样。比如保存文件用GBK,读取用utf-8,那么就 会读到乱码。
//乱码解决方案:统一编码集。
char c10 = '\u597d'; // unicode值
System.out.println("c10=" + c10);
l 什么是编码(Encoding)
char(数字) -> 编码 -> 字符
• char 代表一个字符,char 的本质也是数字。将数字映射到字符,就叫编码。
• 将一个字符集映射到数字,就是给这个字符集编码。编码是有标准的,所有的计 算机系统按照同一 个编码标准执行。
• 有时候编码和字符集会混用。
l Java中的字符集
• Java 中用的是 UTF-16 编码的 Unicode。 • UTF-16用16个 bit,即两个byte,这也是char占用两个byte的原因。当把 char转成数字的时候,需要用 int。
评论