char类型与字符编码
char是字符类型,Java语⾔对字符采⽤Unicode字符编码。
由于计算机的内存只能存储⼆进制数据,因此必须为各个字符进⾏编码。
所谓字符编码,是指⽤⼀串⼆进制数据来表⽰特定的字符。
1)ASCII字符编码(American Standard Code for Information Interchange-美国信息互换标准代码)
a)它是⼀套罗马字母编码。
b)它是现今最通⽤的单字节编码系统。
c)它实际上只⽤了1字节的7位存储字符。
d)⼀共能表⽰128(2的7次⽅)个字符。
例程:a的编码为0110 0001,相当于⼗进制整数97
2)ISO-8859-1字符编码(⼜称Latin-1,是国际标准化组织[ISO]为西欧语⾔中的字符制定的编码)
a的ascii的编码是多少
a)西欧语⾔字符编码
b)1个字节(8位)来为字符编码
d)与ASCII字符编码兼容。(所谓兼容,是指对于相同的字符,它的ASCII字符编码和ISO-8859-1字符编码相同)
3)GBK2312字符编码
a)它是⼀套简体中⽂字符编码。
b)共收录7 445个字符。(包括6 763个汉字和682个其他符号)
c)与ASCII字符编码兼容。
4)GBK字符编码
a)是GB2312的扩展。
b)共收录21 886个字符。(包括汉字区和图形符号区;汉字:21 003)
c)与GB2312字符编码兼容。
5)Unicode字符编码(由国际Unicode协会编制)
a)收录了全世界所有语⾔⽂字中的字符。
b)是⼀种跨平台的字符编码。
c)Unicode具有两种编码⽅案。
1)⽤2个字节(16位)编码,采⽤这个编码⽅案的字符集被称为UCS-2,Java语⾔采⽤该编码⽅案。
2)⽤4个字节(32位)编码(实际只⽤了31位,最⾼位必须为0),采⽤这个编码⽅案的字符集被称为UCS-4.
6)UTF字符编码(UCS Transformation Format)
背景:有些操作系统不完全⽀持16位或32位的Unicode字符编码。
a)UTF字符编码能够把Unicode字符编码转换为操作系统⽀持的编码
b)它包括UTF-8(采⽤1个字节为单元对UCS进⾏编码),UTF-7,UTF-16
例程为UCS-2到UTF-8的字符编码转换⽅式
UCS-2字符编码(⼗六进制)UTF-8字节流(⼆进制)
0000-007F0xxxxxxx
0080-07FF110xxxxx 10xxxxxx
0800-FFFF1110xxxx 10xxxxxx 10xxxxxx
“汉“的Unicode字符编码的⼗六进制数据形式为0x6C49。
0x6C49在0x0800-FFFF之间,⽤第四⾏的模板:1110xxxx 10xxxxxx 10xxxxxx
将其写为⼆进制数据形式为:0110 110001 001001 ⽤此代替模板中的x,11100110 10110001 10001001
7)Java语⾔的转义字符
a)\n:(next)换⾏字符,将光标定位在下⼀⾏的开头。
b)\t:(tab)垂直制表符,将光标移到下⼀个制表符的位置。
c)\r:(ready)回车,将光标定位在当前⾏的开头;不会跳到下⼀⾏。
d)\\:代表反斜杠字符
e)\':代表单引号字符
f)\":代表双引号字符