【安全渗透】第一次作业(编码知识总结)

目录

1. ASCII编码

2、Unicode

3、UTF-8


1. ASCII编码

ASCII 是“American Standard Code for Information Interchange”的缩写,翻译过来是“美国信息交换标准代码”。ASCII 的标准版本于 1967 年第一次发布,最后一次更新则是在 1986 年,迄今为止共收录了 128 个字符,其中有 33 个控制字符(具有某些特殊功能但是无法显示的字符)和 95 个可显示字符。包含了基本的拉丁字母(英文字母)、阿拉伯数字(也就是 1234567890)、标点符号(,.!等)、特殊符号(@#$%^&等)以及一些具有控制功能的字符

ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符
0 NUT 32 (space) 64 @ 96
1 SOH 33 ! 65 A 97 a
2 STX 34 " 66 B 98 b
3 ETX 35 # 67 C 99 c
4 EOT 36 $ 68 D 100 d
5 ENQ 37 % 69 E 101 e
6 ACK 38 & 70 F 102 f
7 BEL 39 , 71 G 103 g
8 BS 40 ( 72 H 104 h
9 HT 41 ) 73 I 105 i
10 LF 42 * 74 J 106 j
11 VT 43 + 75 K 107 k
12 FF 44 , 76 L 108 l
13 CR 45 - 77 M 109 m
14 SO 46 . 78 N 110 n
15 SI 47 / 79 O 111 o
16 DLE 48 0 80 P 112 p
17 DCI 49 1 81 Q 113 q
18 DC2 50 2 82 R 114 r
19 DC3 51 3 83 S 115 s
20 DC4 52 4 84 T 116 t
21 NAK 53 5 85 U 117 u
22 SYN 54 6 86 V 118 v
23 TB 55 7 87 W 119 w
24 CAN 56 8 88 X 120 x
25 EM 57 9 89 Y 121 y
26 SUB 58 : 90 Z 122 z
27 ESC 59 ; 91 [ 123 {
28 FS 60 < 92 \ 124 |
29 GS 61 = 93 ] 125 }
30 RS 62 > 94 ^ 126 `
31 US 63 ? 95 _ 127 DEL

上面的表格摘抄了一部分的 ASCII 编码。
例如 字母 D 大家都在电脑里 存储为 68, 而反过来,如果使用 ASCII 编码,发现68,也意味着这是 字母 D

特殊字符解释
NUL空 VT 垂直制表 SYN 空转同步
STX 正文开始 CR 回车 CAN 作废
ETX 正文结束 SO 移位输出 EM 纸尽
EOY 传输结束 SI 移位输入 SUB 换置
ENQ 询问字符 DLE 空格 ESC 换码
ACK 承认 DC1 设备控制1 FS 文字分隔符
BEL 报警 DC2 设备控制2 GS 组分隔符
BS 退一格 DC3 设备控制3 RS 记录分隔符
HT 横向列表 DC4 设备控制4 US 单元分隔符
LF 换行 NAK 否定 DEL 删除

2、Unicode

Unicode是一个标准字符集,旨在为所有的语言和符号提供一个统一的编码方案。它定义了每个字符的唯一码点,这些码点可以用来表示字符在计算机系统中的位置。

Unicode为每个字符分配了一个唯一的码点,这个码点通常以"U+"开头,后面跟着字符的十六进制表示。例如,拉丁字母"A"的Unicode码点是U+0041。

Unicode编码空间非常庞大,目前已经定义了超过130万个码点,覆盖了几乎所有已知的语言和符号。它包含了各种文字系统,如拉丁字母、希腊字母、西里尔字母、中文、日文、韩文等。

Unicode的实现方式有多种,如UTF-8、UTF-16和UTF-32。这些编码方式将Unicode字符映射为不同长度的二进制序列,以适应不同的应用需求。

通过使用Unicode,我们可以在计算机系统中处理和表示全球范围内的文本数据,实现跨语言和跨文化的交流与处理

3、UTF-8

UTF-8是一种使用变长字节表示Unicode字符的编码方式,它可以表示Unicode标准中的任何字符。UTF-8编码的一个优点是它可以向后兼容ASCII编码,因此在ASCII字符范围内,UTF-8编码与ASCII编码是一致的。

UTF-8 的编码规则:

对于单个字节的字符,第一位设为 0,后面的 7 位对应这个字符的 Unicode 码点。因此,对于英文中的 0 - 127 号字符,与 ASCII 码完全相同。这意味着 ASCII 码那个年代的文档用 UTF-8 编码打开完全没有问题。

对于需要使用 N 个字节来表示的字符(N > 1),第一个字节的前 N 位都设为 1,第 N + 1 位设为 0,剩余的 N - 1 个字节的前两位都设位 10,剩下的二进制位则使用这个字符的 Unicode 码点来填充。

具体的表现形式为:

0xxxxxxx:单字节编码形式,这和 ASCII 编码完全一样,因此 UTF-8 是兼容 ASCII 的;
110xxxxx 10xxxxxx:双字节编码形式(第一个字节有两个连续的 1);
1110xxxx 10xxxxxx 10xxxxxx:三字节编码形式(第一个字节有三个连续的 1);
11110xxx 10xxxxxx 10xxxxxx 10xxxxxx:四字节编码形式(第一个字节有四个连续的 1)。

【安全渗透】第一次作业(编码知识总结)_第1张图片

你可能感兴趣的:(前端,javascript)