Java 学习之路(十一)- 字符集编码和字符串

什么是字符集和编码

什么是字符集(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);

猜你喜欢

转载自blog.csdn.net/Kevinblant/article/details/119717827