常用 ASCII 码整理

一、ASCII 码简介

  ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是一套基于拉丁字母的字符编码,共收录了 128 个字符,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,它等同于国际标准 ISO/IEC 646。ASCII 规范于 1967 年第一次发布,最后一次更新是在 1986 年。
  ASCII 编码范围 0x00-0x7F,即十进制的 0-127,定义了 128 个字符。它包含了 33 个控制字符(具有某些特殊功能但是无法显示的字符)和 95 个可显示字符(数字、字母、符号)。国标码 GB18030、国际码 Unicode 均兼容 ASCII 编码。

二、ASCII 码的表达方式

  ASCII 码使用指定的 7 位或 8 位二进制数组合来表示 128 或 256 种可能的字符。标准 ASCII 码也叫基础 ASCII 码,使用 7 位二进制数(剩下的 1 位二进制为 0)来表示所有的大写和小写字母,数字 0 到 9、标点符号,以及在美式英语中使用的特殊控制字符。
  0~31 及 127 (共 33 个)是控制字符或通信专用字符,其余为可显示字符,例如,控制符: LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等;通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等。ASCII 值为 8、9、10 和13 分别转换为退格、制表、换行和回车字符,它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响。
  32~126 (共 95 个) 是字符( 32 是空格),其中 48~57 为 0 到 9 十个阿拉伯数字。65~90 为 26 个大写英文字母,97~122 为 26 个小写英文字母,其余为一些标点符号、运算符号等。
  同时还要注意,在标准 ASCII 中,其最高位 (b7) 用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中 1 的个数必须是奇数,若非奇数,则在最高位 b7 添 1。偶校验规定:正确的代码一个字节中 1 的个数必须是偶数,若非偶数,则在最高位 b7 添 1。
  后 128 个称为扩展 ASCII 码。许多基于 x86 的系统都支持使用扩展(或“高”)ASCII。扩展 ASCII 码允许将每个字符的第 8 位用于确定附加的 128 个特殊符号字符、外来语字母和图形符号。

三、大小规则

  常见 ASCII 码的大小规则:0 - 9 < A - Z < a - z。

  • 数字比字母要小,如 7 < F;
  • 数字 0 比数字 9 要小,并按 0 到 9 顺序递增,如 3 < 8;
  • 字母 A 比字母 Z 要小,并按 A 到 Z 顺序递增,如 A < Z;
  • 同个字母的大写字母比小写字母要小 32,如 A < a;
  • 几个常见字母的 ASCII 码大小:0 为 48;A 为 65;a 为 97。
四、常见字符的 ASCII 码
4.1 数字的 ASCII 码
十进制 符号
48 0
49 1
50 2
51 3
52 4
53 5
54 6
55 7
56 8
57 9
4.2 大写英文字母的 ASCII 码
十进制 符号
65 A
66 B
67 C
68 D
69 E
70 F
71 G
72 H
73 I
74 J
75 K
76 L
77 M
78 N
79 O
80 P
81 Q
82 R
83 S
84 T
85 U
86 V
87 W
88 X
89 Y
90 Z
4.3 小写英文字母的 ASCII 码
十进制 符号
97 a
98 b
99 c
100 d
101 e
102 f
103 g
104 h
105 i
106 j
107 k
108 l
109 m
110 n
111 o
112 p
113 q
114 r
115 s
116 t
117 u
118 v
119 w
120 x
121 y
122 z
五、常用 Java 语言处理字符的方法
	public static void main(String[] args) {
    
    
        String word = "a123bcAD34d8ef34";
        char char1 = word.charAt(0);
        System.out.println(char1);                   // a
        // 打印字符的十进制 ASCII 编码值
        System.out.println(Integer.valueOf(char1));  // 97

        // 将小写字母字符转为大写字母字符
        char char2 = (char) (char1 - 'a' + 'A');
        System.out.println(char2);                   // A

        // 将字符表示的数字转为十进制数字
        int integer1 = word.charAt(1) - '0';
        System.out.println(integer1);                // 1

        // 将 ASCII 码值转换为对应的字符串
        // 如知晓字母 'b' 的 ASCII 码值,将其转化为字符串 "b"
        String ans = String.valueOf((char) ('a' + 1));
        System.out.println(ans);
        // 或者
        char tmp = (char) ('a' + 1);
        String ans1 = Character.toString(tmp);
        System.out.println(ans1);			
    }

猜你喜欢

转载自blog.csdn.net/piaoranyuji/article/details/124177652