目录
什么是字符集和编码
什么是字符集(Charset)
- 字符集就是字符的集合。一般会包含一种语言的字符.比如
GBK
,是包含所有常用汉字字符的字符集。ASCII
是包含英文字符的字符集。 - 字符就是 Java 中的
char
,char 是字符的简写。
什么是编码(Encoding)
- char代表一个字符,char的本质也是数字。将数字映射到字符,就叫编码。
- 将一个字符集映射到数字,就是给这个字符集编码。编码是有标准的,所有的计算机系统按照同一个编码标准执行。
- 有时候编码和字符集会混用。
编码和字符集介绍
常用的字符集简介
- ASCII 码,ASCII 表:地址
- Unicode 包含世界上所有常用字符,编码也有几种,包括 UTF-8 ( 8-bit Unicode Transformation Format ),UTF-16等。
- Unicode ,GBK 等所有常用的字符集,都会兼容 ASCll。举个例子,字符 A 在这些所有常用的字符集里,都是对应数字65。
Java 中的字符集
- Java 中用的是 UTF-16 编码的 Unicode。
- UTF-16 用16个 bit,即两个 byte,这也是 char 占用两个 byte 的原因。当把 char 转成数字的时候,需要用 int 。
ASCII码和转义符(escape character)
如何输出特殊字符
- ASCll 码 + char ,通过 ASCII 表可以找到需要的字符对应的数字 。将这个数字转换为 char,然后输出这个char。 ASCII 表
- 转义符。转义符用来给字符赋值,也可以用在字符串里面,作为字符串中的一个字符。
转义符语法和常用的转义符
\n
,换行符\"
,双引号\t
,制表符\uxxxx
,Unicode编码对应的字符
String content = "a\tb\tcc\tee\t";
String align = "1111222233334444";
// a b cc ee
System.out.println(content);
// 1111222233334444
System.out.println(align);
int a = 65;
char cha = (char) a;
char b = '\u6666';
System.out.println(cha); // A
System.out.println(b); // 晦
字符串的“加法”
将变量穿插在字符串中输出
- 字符串可以和任何类型进行加法运算,则会将这个值的字符拼接到字
符串上。 - 字符串也可以使用
+=
操作符来拼接。 - 字符串的加法运算符符合加法运算符本身的优先级
字符串不是 Java 中的基本数据类型
- 字符串类型的名字叫做String。
- 虽然 String 不是不是中的基础类型,但是也可以使用类似的语法
String str = ''abc'';
来创建。开始的时候将其当成基础类型,更容易理解。 - String 不是java中的保留字。
字符串的加法不会改变原字符串变量的值,改变其值要用赋值语句
int a = 10;
int b = 20;
int c = a + b;
// a + b=30
System.out.println("a + b=" + c);
boolean aBiggerThanB = a > b;
// a > b 是false的
System.out.println("a > b 是" + aBiggerThanB + "的");
// a + b=1020
System.out.println("a + b=" + a + b);
// a + b =30
System.out.println("a + b =" + (a + b));
// a * b=200
System.out.println("a * b=" + a * b);
int a = 10;
String str = "a的值是";
str = str + a;
// a的值是10
System.out.println(str);
String s2 = "a的值是";
// a的值是10
System.out.println(str + a);
// a的值是
System.out.println(s2);