Java零基础17-Unicode 和 ASCII 码

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/shilishili/article/details/88391023

阅读完后:

  • 什么是计算机编码【了解】
  • ASCII 编码介绍【了解】
  • Unicode 编码介绍【了解】
  • Java 使用的默认编码 Unicode【了解】

前言

我们开始学习 Unicode 和 ASCII 码,由于计算机底层只能处理二进制数据,一个字符在计算机中是以 0 和 1 构成的序列的形式来存储的。要想使用字符,就需要对字符进行编码,将字符映射到它的二进制形式的过程称为编码( encoding)。字符有多种不同的编码方式,编码表(encoding scheme) 定义该如何编码每个字符。比较常用的两种编码为 ASCII 编码与 Unicode 编码。大多数计算机采用 ASCII 码(美国标准信息交换码),Unicode 属于国际标准字符集。

ASCII 码介绍

ASCII 是用来表示英文字符的一种编码规范,它是表示所有大小写字母、数字、标点符号和控制字符的 8 位编码表。ASCII 编码可以表示的最大字符数是 255 个,它对于英文是没有问题的,但其他国家的语言,255 个字符编码就显然不够用了。此时 Unicode 的出现解决了各种语言编码的问题。

Unicode 介绍

Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。可以处理所有国家的语言文字。以满足跨语言、跨平台进行文本转换、处理的要求。
Java 中 char 使用 16 位的 Unicode 字符集作为编码方式。Unicode 码是由 Unicode 协会建立的一种编码方案,它收录了世界上所有国家语言文字的字符。

Unicode 与 ASCII 码的关系

Unicode 码将 ASCII 码包括在内,从 ‘\u0000’ 到 ‘\u007F’ 对应 128 字符 ASCII 字符。

常用字符的 ASCII 码
字符 十进制编码值 Unicode 值
‘0’ ~ ‘9’ 48 ~ 57 \u0030 ~ \u0039
‘A’ ~ ‘Z’ 65 ~ 90 \u0041 ~ \u005A
‘a’ ~ ‘z’ 97 ~ 122 \u0061 ~ \u007A

Java 默认 Unicode 编码

Java 程序中,可以使用像 ‘X’、‘1’ 和 ‘$’ 这样的 ASCII 字符,也可以使用 Unicode 码。
例如,下面的语句是等价的,代码如下:

char myChar = 'A';			// 字符 A 的 Unicode 是 0041
char myChar = '\u0041';		// 字符 A 的 Unicode 是 0041

两条语句都将字符 A 赋值给 char 类型变量 myChar。

由于计算机底层只能处理二进制数据,要想使用字符,就需要对字符进行编码,Java 中 char 使用16位的 Unicode 字符集作为编码方式,Unicode 属于国际标准字符集,收录了世界上所有国家语言文字的字符。

如果对字符编码感兴趣可以到维基百科(https://zh.wikipedia.org/wiki/Unicode 字符列表)查询。

在本章我们学习了:

  • 计算机比较常用的两种编码为 ASCII 编码与 Unicode 编码
  • ASCII 包含大小写字母、数字、标点符号和控制字符的 8 位编码表
  • Unicode 包含 ASCII 并且收录了世界上所有国家语言文字的字符
  • Java 默认 Unicode 编码

接下来,我们开始学习 Java 的 boolean 类型:Java零基础18-Java 的 boolean 类型

猜你喜欢

转载自blog.csdn.net/shilishili/article/details/88391023
今日推荐