zoukankan      html  css  js  c++  java
  • ASCII码详解

    ASCII
    American Standard Code for Information Interchange
    美国信息交换标准代码
    至今为止定义了128个字符 (序号:0-127)
    2^7=128
    7位二进制数字表示


    EASCII(Extended ASCII)
    延伸美国标准信息交换码
    在128个ASCII码的基础上, 又增加了128个新字符, 也就是EASCII一共定义了256个字符 (序号: 0-255)
    2^8=256
    8位二进制数字表示

    ASCII从能否显示的角度分为2大类:

    1. 控制字符(不能显示) 33个
    2. 可显示字符 95个

    控制字符主要是用来操作已经处理过的字符的, 也就是删除, 取消, 确认, 回车. 转义等功能性的字符
    而且在这些控制字符中, 有大半部分已经被弃用了
    控制字符的在ASCII码表中的序号是: 0-31号和127号
    其中127号字符是DELETE字符, 对应你键盘上的DELETE键
    虽然控制字符不能显示出来, 但是却可以输入, 在绝大部分的终端系统中, 输入Ctrl+对应键盘字符就能输入控制字符
    例如: 我想输入NULL空字符, 根据ASCII码的脱出字符表示法^@, 需要按键盘的Ctrl键+2号数字键而并不是敲Shift+6+2

    可显示字符, 使用频率远远大于控制字符
    但是95个字符的数量决定了ASCII码只能显示:阿拉伯数字, 英文字母和英语标点符号
    细数一下:
    26个小写英文字母 + 26个大写英文字母 = 52个字符
    阿拉伯数字0-9 = 10个字符
    个人觉得标点符号值得比较值得展示一下
    95 - 52 -10 = 32个标点符号

    + - * /       加减乘除4个
    , . ; <space> 分隔符号4个
    ()[]{}        括号类6个
    ' " `         引号类3个
    & | !        逻辑符号3个
    ?            通配符号1个
                 转义符号1个
    % ^           取模乘方2个
    > < =         比较符号3个
    $             变量符号1个
    #             注释符号1个
    _ :           下划冒号2个
    ~             波浪符号1个
    4+4+6+3+3+1+1+2+3+1+1+2+1
    20+4+3+5=32
    

    给一张初代ASCII码表的官方图(1968年版)

    ASCII-1

    从b1,b2...一直到b7, 也就是二进制位数只有7位
    查表的顺序是从b7到b1代表二进制编号
    列开始顺序查找, 也就是先从第0列第0行开始, 到第7列第15行结束
    这张表尤其适合查找字符的16进制编号

    控制符表

    二进制 十进制 十六进制 缩写 名称/意义
    0000 0000 0 0 NUL 空字符(Null)
    0000 0001 1 1 SOH 标题开始
    0000 0010 2 2 STX 本文开始
    0000 0011 3 3 ETX 本文结束
    0000 0100 4 4 EOT 传输结束
    0000 0101 5 5 ENQ 请求
    0000 0110 6 6 ACK 确认回应
    0000 0111 7 7 BEL 响铃
    0000 1000 8 8 BS 退格
    0000 1001 9 9 HT 水平定位符号
    0000 1010 10 0A LF 换行键
    0000 1011 11 0B VT 垂直定位符号
    0000 1100 12 0C FF 换页键
    0000 1101 13 0D CR CR (字符)
    0000 1110 14 0E SO 取消变换(Shift out)
    0000 1111 15 0F SI 启用变换(Shift in)
    0001 0000 16 10 DLE 跳出数据通讯
    0001 0001 17 11 DC1 设备控制一(XON 激活软件速度控制)
    0001 0010 18 12 DC2 设备控制二
    0001 0011 19 13 DC3 设备控制三(XOFF 停用软件速度控制)
    0001 0100 20 14 DC4 设备控制四
    0001 0101 21 15 NAK 确认失败回应
    0001 0110 22 16 SYN 同步用暂停
    0001 0111 23 17 ETB 区块传输结束
    0001 1000 24 18 CAN 取消
    0001 1001 25 19 EM 连线介质中断
    0001 1010 26 1A SUB 替换
    0001 1011 27 1B ESC 退出键
    0001 1100 28 1C FS 文件分割符
    0001 1101 29 1D GS 组群分隔符
    0001 1110 30 1E RS 记录分隔符
    0001 1111 31 1F US 单元分隔符
    0111 1111 127 7F DEL Delete字符

    可显示字符表

    二进制 十进制 十六进制 字符
    0010 0000 32 20 (space)
    0010 0001 33 21 !
    0010 0010 34 22 "
    0010 0011 35 23 #
    0010 0100 36 24 $
    0010 0101 37 25 %
    0010 0110 38 26 &
    0010 0111 39 27 '
    0010 1000 40 28 (
    0010 1001 41 29 )
    0010 1010 42 2A *
    0010 1011 43 2B +
    0010 1100 44 2C ,
    0010 1101 45 2D -
    0010 1110 46 2E .
    0010 1111 47 2F /
    0011 0000 48 30 0
    0011 0001 49 31 1
    0011 0010 50 32 2
    0011 0011 51 33 3
    0011 0100 52 34 4
    0011 0101 53 35 5
    0011 0110 54 36 6
    0011 0111 55 37 7
    0011 1000 56 38 8
    0011 1001 57 39 9
    0011 1010 58 3A :
    0011 1011 59 3B ;
    0011 1100 60 3C <
    0011 1101 61 3D =
    0011 1110 62 3E >
    0011 1111 63 3F ?
    0100 0000 64 40 @
    0100 0001 65 41 A
    0100 0010 66 42 B
    0100 0011 67 43 C
    0100 0100 68 44 D
    0100 0101 69 45 E
    0100 0110 70 46 F
    0100 0111 71 47 G
    0100 1000 72 48 H
    0100 1001 73 49 I
    0100 1010 74 4A J
    0100 1011 75 4B K
    0100 1100 76 4C L
    0100 1101 77 4D M
    0100 1110 78 4E N
    0100 1111 79 4F O
    0101 0000 80 50 P
    0101 0001 81 51 Q
    0101 0010 82 52 R
    0101 0011 83 53 S
    0101 0100 84 54 T
    0101 0101 85 55 U
    0101 0110 86 56 V
    0101 0111 87 57 W
    0101 1000 88 58 X
    0101 1001 89 59 Y
    0101 1010 90 5A Z
    0101 1011 91 5B [
    0101 1100 92 5C
    0101 1101 93 5D ]
    0101 1110 94 5E ^
    0101 1111 95 5F _
    0110 0000 96 60 `
    0110 0001 97 61 a
    0110 0010 98 62 b
    0110 0011 99 63 c
    0110 0100 100 64 d
    0110 0101 101 65 e
    0110 0110 102 66 f
    0110 0111 103 67 g
    0110 1000 104 68 h
    0110 1001 105 69 i
    0110 1010 106 6A j
    0110 1011 107 6B k
    0110 1100 108 6C l
    0110 1101 109 6D m
    0110 1110 110 6E n
    0110 1111 111 6F o
    0111 0000 112 70 p
    0111 0001 113 71 q
    0111 0010 114 72 r
    0111 0011 115 73 s
    0111 0100 116 74 t
    0111 0101 117 75 u
    0111 0110 118 76 v
    0111 0111 119 77 w
    0111 1000 120 78 x
    0111 1001 121 79 y
    0111 1010 122 7A z
    0111 1011 123 7B {
    0111 1100 124 7C |
    0111 1101 125 7D }
    0111 1110 126 7E ~

    EASCII
    EASCII字符编码, 是把ASCII的7位二进制表示扩充到了8位
    扩充出来的符号包括表格符号、计算符号、希腊字母和特殊的拉丁符号, 但还是仅收录了偏拉丁语的一系列国家的语言符号
    ISO 8859 是最常见的8位字符编码。
    除此之外,不同的操作系统都会有它的8位字符编码, 也就是说EASCII扩充的后半部分字符集在某些环境下是互不兼容的

    ISO 8859 标准一共定义了15个字符集, 从1到16没有12, 分别去表示不同语言体系的语言字符

    ISO 8859-1 常用字符

    字符 十六进制 十进制 描述
    A0 160 不换行空格(NBSP)
    ¡ A1 161 倒感叹号
    ¢ A2 162 英分
    £ A3 163 英镑
    ¤ A4 164 货币记号
    ¥ A5 165 人民币/日元
    ¦ A6 166 断竖线
    § A7 167 小节符
    ¨ A8 168 分音符(元音变音)
    © A9 169 著作权符
    ª AA 170 阴性序数记号
    « AB 171 左指双尖引号
    ¬ AC 172 非标记
    ­ AD 173 选择性连接号(SHY)
    ® AE 174 注册商标
    ¯ AF 175 长音符
    ° B0 176
    ± B1 177 正负号
    ² B2 178 二次方号
    ³ B3 179 三次方号
    ´ B4 180 锐音符
    µ B5 181 微符
    B6 182 段落标记
    · B7 183 中心点
    ¸ B8 184 软音符
    ¹ B9 185 一次方号
    º BA 186 阳性序数记号
    » BB 187 右指双尖引号
    ¼ BC 188 四分之一
    ½ BD 189 二分之一
    ¾ BE 190 四分之三
    ¿ BF 191 竖翻问号
    À C0 192 带抑音符的A
    Á C1 193 带锐音符的A
    Â C2 194 带扬抑符的A
    Ã C3 195 带颚化符的A
    Ä C4 196 带分音符的A
    Å C5 197 带上圆圈的A
    Æ C6 198 大写连字AE
    Ç C7 199 带下加符的C
    È C8 200 带抑音符的E
    É C9 201 带锐音符的E
    Ê CA 202 带扬抑符的E
    Ë CB 203 带分音符的E
    Ì CC 204 带抑音符的I
    Í CD 205 带锐音符的I
    Î CE 206 带扬抑符的I
    Ï CF 207 带分音符的I
    Ð D0 208 带横线符的D
    Ñ D1 209 带颚化符的N
    Ò D2 210 带抑音符的O
    Ó D3 211 带锐音符的O
    Ô D4 212 带扬抑符的O
    Õ D5 213 带颚化符的O
    Ö D6 214 带分音符的O
    × D7 215 乘号
    Ø D8 216 带斜线的O
    Ù D9 217 带抑音符的U
    Ú DA 218 带锐音符的U
    Û DB 219 带扬抑符的U
    Ü DC 220 带分音符的U
    Ý DD 221 带锐音符的Y
    Þ DE 222 清音p
    ß DF 223 清音s
    à E0 224 带抑音符的a
    á E1 225 带锐音符的a
    â E2 226 带扬抑符的a
    ã E3 227 带颚化符的a
    ä E4 228 带分音符的a
    å E5 229 带上圆圈的a
    æ E6 230 小写连字AE
    ç E7 231 带下加符的c
    è E8 232 带抑音符的e
    é E9 233 带锐音符的e
    ê EA 234 带扬抑符的e
    ë EB 235 带分音符的e
    ì EC 236 带抑音符的i
    í ED 237 带锐音符的i
    î EE 238 带扬抑符的i
    ï EF 239 带分音符的i
    ð F0 240 带斜线的d
    ñ F1 241 带颚化符的n
    ò F2 242 带抑音符的o
    ó F3 243 带锐音符的o
    ô F4 244 带扬抑符的o
    õ F5 245 带颚化符的o
    ö F6 246 带分音符的o
    ÷ F7 247 除号
    ø F8 248 带斜线的o
    ù F9 249 带抑音符的u
    ú FA 250 带锐音符的u
    û FB 251 带扬抑符的u
    ü FC 252 带分音符的u
    ý FD 253 带锐音符的y
    þ FE 254 小写字母Thorn
  • 相关阅读:
    Atcoder Regular Contest 092 A 的改编
    AtCoder Regular Contest 092 B Two Sequences
    hihoCoder #1695 公平分队II
    redis基础知识
    mongodb进阶
    mongodb基础知识
    memcached基础知识
    利用多进程获取猫眼电影top100
    分析AJAX抓取今日头条的街拍美图并把信息存入mongodb中
    selenium的使用技巧及集成到scrapy
  • 原文地址:https://www.cnblogs.com/sn0wp3ak/p/13799783.html
Copyright © 2011-2022 走看看