[CTF]ACSII码
[CTF]ACSII码
----------转自百度百科
https://baike.baidu.com/item/ASCII/309296?fromtitle=ascii码&fromid=99077&fr=aladdin
ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。 [1]
请注意,ASCII是American Standard Code for Information Interchange缩写,而不是ASCⅡ(罗马数字2),有很多人在这个地方产生误解。
中文名 | 美国信息交换标准代码 |
外文名 | American Standard Code for Information Interchange |
简 称 | 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 个特殊符号字符、外来语字母和图形符号。
标准对照表
Bin(二进制) |
Oct(八进制) |
Dec(十进制) |
Hex(十六进制) |
缩写/字符 |
解释 |
0000 0000 |
0 |
0 |
00 |
NUL(null) |
空字符 |
0000 0001 |
1 |
1 |
01 |
SOH(start of headline) |
标题开始 |
0000 0010 |
2 |
2 |
02 |
STX (start of text) |
正文开始 |
0000 0011 |
3 |
3 |
03 |
ETX (end of text) |
正文结束 |
0000 0100 |
4 |
4 |
04 |
EOT (end of transmission) |
传输结束 |
0000 0101 |
5 |
5 |
05 |
ENQ (enquiry) |
请求 |
0000 0110 |
6 |
6 |
06 |
ACK (acknowledge) |
收到通知 |
0000 0111 |
7 |
7 |
07 |
BEL (bell) |
响铃 |
0000 1000 |
10 |
8 |
08 |
BS (backspace) |
退格 |
0000 1001 |
11 |
9 |
09 |
HT (horizontal tab) |
水平制表符 |
0000 1010 |
12 |
10 |
0A |
LF (NL line feed, new line) |
换行键 |
0000 1011 |
13 |
11 |
0B |
VT (vertical tab) |
垂直制表符 |
0000 1100 |
14 |
12 |
0C |
FF (NP form feed, new page) |
换页键 |
0000 1101 |
15 |
13 |
0D |
CR (carriage return) |
回车键 |
0000 1110 |
16 |
14 |
0E |
SO (shift out) |
不用切换 |
0000 1111 |
17 |
15 |
0F |
SI (shift in) |
启用切换 |
0001 0000 |
20 |
16 |
10 |
DLE (data link escape) |
数据链路转义 |
0001 0001 |
21 |
17 |
11 |
DC1 (device control 1) |
设备控制1 |
0001 0010 |
22 |
18 |
12 |
DC2 (device control 2) |
设备控制2 |
0001 0011 |
23 |
19 |
13 |
DC3 (device control 3) |
设备控制3 |
0001 0100 |
24 |
20 |
14 |
DC4 (device control 4) |
设备控制4 |
0001 0101 |
25 |
21 |
15 |
NAK (negative acknowledge) |
拒绝接收 |
0001 0110 |
26 |
22 |
16 |
SYN (synchronous idle) |
同步空闲 |
0001 0111 |
27 |
23 |
17 |
ETB (end of trans. block) |
结束传输块 |
0001 1000 |
30 |
24 |
18 |
CAN (cancel) |
取消 |
0001 1001 |
31 |
25 |
19 |
EM (end of medium) |
媒介结束 |
0001 1010 |
32 |
26 |
1A |
SUB (substitute) |
代替 |
0001 1011 |
33 |
27 |
1B |
ESC (escape) |
换码(溢出) |
0001 1100 |
34 |
28 |
1C |
FS (file separator) |
文件分隔符 |
0001 1101 |
35 |
29 |
1D |
GS (group separator) |
分组符 |
0001 1110 |
36 |
30 |
1E |
RS (record separator) |
记录分隔符 |
0001 1111 |
37 |
31 |
1F |
US (unit separator) |
单元分隔符 |
0010 0000 |
40 |
32 |
20 |
(space) |
空格 |
0010 0001 |
41 |
33 |
21 |
! |
叹号 |
0010 0010 |
42 |
34 |
22 |
" |
双引号 |
0010 0011 |
43 |
35 |
23 |
# |
井号 |
0010 0100 |
44 |
36 |
24 |
$ |
美元符 |
0010 0101 |
45 |
37 |
25 |
% |
百分号 |
0010 0110 |
46 |
38 |
26 |
& |
和号 |
0010 0111 |
47 |
39 |
27 |
' |
闭单引号 |
0010 1000 |
50 |
40 |
28 |
( |
开括号 |
0010 1001 |
51 |
41 |
29 |
) |
闭括号 |
0010 1010 |
52 |
42 |
2A |
* |
星号 |
0010 1011 |
53 |
43 |
2B |
+ |
加号 |
0010 1100 |
54 |
44 |
2C |
, |
逗号 |
0010 1101 |
55 |
45 |
2D |
- |
减号/破折号 |
0010 1110 |
56 |
46 |
2E |
. |
句号 |
00101111 |
57 |
47 |
2F |
/ |
斜杠 |
00110000 |
60 |
48 |
30 |
0 |
数字0 |
00110001 |
61 |
49 |
31 |
1 |
数字1 |
00110010 |
62 |
50 |
32 |
2 |
数字2 |
00110011 |
63 |
51 |
33 |
3 |
数字3 |
00110100 |
64 |
52 |
34 |
4 |
数字4 |
00110101 |
65 |
53 |
35 |
5 |
数字5 |
00110110 |
66 |
54 |
36 |
6 |
数字6 |
00110111 |
67 |
55 |
37 |
7 |
数字7 |
00111000 |
70 |
56 |
38 |
8 |
数字8 |
00111001 |
71 |
57 |
39 |
9 |
数字9 |
00111010 |
72 |
58 |
3A |
: |
冒号 |
00111011 |
73 |
59 |
3B |
; |
分号 |
00111100 |
74 |
60 |
3C |
< |
小于 |
00111101 |
75 |
61 |
3D |
= |
等号 |
00111110 |
76 |
62 |
3E |
> |
大于 |
00111111 |
77 |
63 |
3F |
? |
问号 |
01000000 |
100 |
64 |
40 |
@ |
电子邮件符号 |
01000001 |
101 |
65 |
41 |
A |
大写字母A |
01000010 |
102 |
66 |
42 |
B |
大写字母B |
01000011 |
103 |
67 |
43 |
C |
大写字母C |
01000100 |
104 |
68 |
44 |
D |
大写字母D |
01000101 |
105 |
69 |
45 |
E |
大写字母E |
01000110 |
106 |
70 |
46 |
F |
大写字母F |
01000111 |
107 |
71 |
47 |
G |
大写字母G |
01001000 |
110 |
72 |
48 |
H |
大写字母H |
01001001 |
111 |
73 |
49 |
I |
大写字母I |
01001010 |
112 |
74 |
4A |
J |
大写字母J |
01001011 |
113 |
75 |
4B |
K |
大写字母K |
01001100 |
114 |
76 |
4C |
L |
大写字母L |
01001101 |
115 |
77 |
4D |
M |
大写字母M |
01001110 |
116 |
78 |
4E |
N |
大写字母N |
01001111 |
117 |
79 |
4F |
O |
大写字母O |
01010000 |
120 |
80 |
50 |
P |
大写字母P |
01010001 |
121 |
81 |
51 |
Q |
大写字母Q |
01010010 |
122 |
82 |
52 |
R |
大写字母R |
01010011 |
123 |
83 |
53 |
S |
大写字母S |
01010100 |
124 |
84 |
54 |
T |
大写字母T |
01010101 |
125 |
85 |
55 |
U |
大写字母U |
01010110 |
126 |
86 |
56 |
V |
大写字母V |
01010111 |
127 |
87 |
57 |
W |
大写字母W |
01011000 |
130 |
88 |
58 |
X |
大写字母X |
01011001 |
131 |
89 |
59 |
Y |
大写字母Y |
01011010 |
132 |
90 |
5A |
Z |
大写字母Z |
01011011 |
133 |
91 |
5B |
[ |
开方括号 |
01011100 |
134 |
92 |
5C |
\ |
反斜杠 |
01011101 |
135 |
93 |
5D |
] |
闭方括号 |
01011110 |
136 |
94 |
5E |
^ |
脱字符 |
01011111 |
137 |
95 |
5F |
_ |
下划线 |
01100000 |
140 |
96 |
60 |
` |
开单引号 |
01100001 |
141 |
97 |
61 |
a |
小写字母a |
01100010 |
142 |
98 |
62 |
b |
小写字母b |
01100011 |
143 |
99 |
63 |
c |
小写字母c |
01100100 |
144 |
100 |
64 |
d |
小写字母d |
01100101 |
145 |
101 |
65 |
e |
小写字母e |
01100110 |
146 |
102 |
66 |
f |
小写字母f |
01100111 |
147 |
103 |
67 |
g |
小写字母g |
01101000 |
150 |
104 |
68 |
h |
小写字母h |
01101001 |
151 |
105 |
69 |
i |
小写字母i |
01101010 |
152 |
106 |
6A |
j |
小写字母j |
01101011 |
153 |
107 |
6B |
k |
小写字母k |
01101100 |
154 |
108 |
6C |
l |
小写字母l |
01101101 |
155 |
109 |
6D |
m |
小写字母m |
01101110 |
156 |
110 |
6E |
n |
小写字母n |
01101111 |
157 |
111 |
6F |
o |
小写字母o |
01110000 |
160 |
112 |
70 |
p |
小写字母p |
01110001 |
161 |
113 |
71 |
q |
小写字母q |
01110010 |
162 |
114 |
72 |
r |
小写字母r |
01110011 |
163 |
115 |
73 |
s |
小写字母s |
01110100 |
164 |
116 |
74 |
t |
小写字母t |
01110101 |
165 |
117 |
75 |
u |
小写字母u |
01110110 |
166 |
118 |
76 |
v |
小写字母v |
01110111 |
167 |
119 |
77 |
w |
小写字母w |
01111000 |
170 |
120 |
78 |
x |
小写字母x |
01111001 |
171 |
121 |
79 |
y |
小写字母y |
01111010 |
172 |
122 |
7A |
z |
小写字母z |
01111011 |
173 |
123 |
7B |
{ |
开花括号 |
01111100 |
174 |
124 |
7C |
| |
垂线 |
01111101 |
175 |
125 |
7D |
} |
闭花括号 |
01111110 |
176 |
126 |
7E |
~ |
波浪号 |
01111111 |
177 |
127 |
7F |
DEL (delete) |
删除 |
大小规则
数字的ASCII码<大写字母的ASCII码<小写字母的ASCII码。 [5]
查询ASCII技巧,方便查询ASCII码对应的字符:新建一个文本文档,按住ALT+要查询的码值(注意,这里是十进制),松开即可显示出对应字符。例如:按住ALT+97,则会显示出'a'。
出现问题
ASCII是美国标准,所以它不能良好满足其它讲英语国家的需要。例如英国的英镑符号(£)在哪里?
拉丁语字母表重音符号
使用斯拉夫字母表的希腊语、希伯来语、阿拉伯语和俄语。
汉字系统的中国象形汉字,日本和朝鲜。
1967年,国际标准化组织(ISO:International Standards Organization)推荐一个ASCII的变种,
代码0x40、0x5B、0x5C、0x5D、0x7B、0x7C和0x7D“为国家使用保留”,而代码0x5E、0x60和0x7E标为
“当国内要求的特殊字符需要8、9或10个空间位置时,可用于其它图形符号”。
扩展
1. 1981年IBM PC ROM256个字符的字符集,即IBM扩展字符集
2. 1985年11 Windows字符集被称作“ANSI字符集”,遵循了ANSI草案和ISO标准(ANSI/ISO8859-1-1987,简“Latin 1”。
3. 1987年4月代码页437,字符的映像代码,在MS-DOS3.3出现。
扩展ASCII 字符是从128 到255(0x80-0xff)的字符。 [6]
扩展ASCII不再是国际标准。
4. 双字节字符集(DBCS:double-byte character set),解决中国、日本和韩国的象形文字符和ASCII的某种兼容性。DBCS从256代码开始,就像ASCII一样。与任何行为良好的代码页一样,最初的128个代码是ASCII。然而,较高的128个代码中的某些总是跟随着第二个字节。这两个字节一起(称作首字节和跟随字节)定义一个字符,通常是一个复杂的象形文字。
常用ASCII码
ESC键:VK_ESCAPE (27)
回车键:VK_RETURN (13)
TAB键:VK_TAB (9)
Caps Lock键:VK_CAPITAL (20)
Shift键:VK_SHIFT (16)
Ctrl键:VK_CONTROL (17)
Alt键:VK_MENU (18)
空格键:VK_SPACE (32)
退格键:VK_BACK (8)
左徽标键:VK_LWIN (91)
右徽标键:VK_RWIN (92)
鼠标右键快捷键:VK_APPS (93)
Insert键:VK_INSERT (45)
Home键:VK_HOME (36)
Page Up:VK_PRIOR (33)
PageDown:VK_NEXT (34)
End键:VK_END (35)
Delete键:VK_DELETE (46)
方向键(←):VK_LEFT (37)
方向键(↑):VK_UP (38)
方向键(→):VK_RIGHT (39)
方向键(↓):VK_DOWN (40)
F1键:VK_F1 (112)
F2键:VK_F2 (113)
F3键:VK_F3 (114)
F4键:VK_F4 (115)
F5键:VK_F5 (116)
F6键:VK_F6 (117)
F7键:VK_F7 (118)
F8键:VK_F8 (119)
F9键:VK_F9 (120)
F10键:VK_F10 (121)
F11键:VK_F11 (122)
F12键:VK_F12 (123)
Num Lock键:VK_NUMLOCK (144)
小键盘0:VK_NUMPAD0 (96)
小键盘1:VK_NUMPAD1 (97)
小键盘2:VK_NUMPAD2 (98)
小键盘3:VK_NUMPAD3 (99)
小键盘4:VK_NUMPAD4 (100)
小键盘5:VK_NUMPAD5 (101)
小键盘6:VK_NUMPAD6 (102)
小键盘7:VK_NUMPAD7 (103)
小键盘8:VK_NUMPAD8 (104)
小键盘9:VK_NUMPAD9 (105)
小键盘。:VK_DECIMAL (110)
小键盘*:VK_MULTIPLY (106)
小键盘+:VK_ADD (107)
小键盘-:VK_SUBTRACT (109)
小键盘/:VK_DIVIDE (111)
Pause Break键:VK_PAUSE (19)
Scroll Lock键:VK_SCROLL (145)
汉字编码
国标码区位码
在计算机中一个汉字通常用两个字节的编码表示,我国制定了“中华人民共和国国家标准信息交换汉字编码字符集(基本集GB2312—1980)”,简称国标码,是计算机进行汉字信息处理和汉字信息交换的标准编码。在该编码中,共收录汉字和图形符号7445个,其中一级常用汉字3755个(按汉语拼音字母顺序排列),二级常用汉字3008个(按部首顺序排列),图形符号682个。
在GB2312—1980中规定,全部国标汉字及符号组成一个94×94的矩阵。在此矩阵中,每一行称为一个“区”,每一列称为一个“位”。于是构成了一个有94个区(01~94区),每个区有94个位(01~94位)的汉字字符集。区码与位码组合在一起就形成了“区位码”,唯一地确定某一汉字或符号。
区位码的分布规则如下:
1)01~09区:图形符号区。
2)10~15区:自定义符号区。
3)16~55区:一级汉字区,按汉字拼音排序,同音字按笔画顺序。
4)56~87区:二级汉字区,按偏旁部首、笔画排序。
5)88~94区:自定义汉字区。
汉字输入码
所谓汉字输入码就是用于使用西文键盘输入汉字的编码。每个汉字对应一组由键盘符号组成的编码,不同的汉字输入法其输入码不同。汉字输入码也称外码。常见的汉字输入编码方案可分为如下4类:
1)数码:用数字组成的等长编码,典型代表有区位码、电报码。
2)音码:根据汉字的读音组成的编码,典型代表有全拼码和双拼码。
3)形码:根据汉字的形状、结构特征组成的编码,典型代表有五笔字型、表形码。
4)音形码:将汉字读音与其结构特征综合考虑的编码,典型代表有自然码、首尾拼音码。
汉字内码
无论用户用哪种输入法,汉字输入到计算机后都转换成汉字内码进行存储,以方便机内的汉字处理。汉字内码是采用双字节的变形国标码,在每个字节的低7位与国标码相同,每个字节的最高位为1,以与ASCII码字符编码区别。
汉字字形码
汉字字形码(汉字输出码)是将点阵组成的汉字模型数字化,形成一串二进制数称为汉字字形码,其主要用于输出汉字。输出汉字时,将汉字字形码再还原为由点阵构成的汉字,所以汉字字形码又被称为汉字输出码。
汉字是一种象形文字,每一个汉字可以看成是一个特定的图形,这种图形可以用点阵、 轮廓向量、骨架向量等多种方法表示,而最基本的是用点阵表示。如果用16x16点阵来表示 一个汉字,则一个汉字占16行,每一行有16个点,其中每一个点用一个二进制位表示,值“0” 表示暗,值“1”表示亮。由于计算机存储器的每个字节有8个二进制位,因此,16个点要用 两个字节来存放,16x16点阵的一个汉字字形需要用32个字节来存放,这32个字节中的信息 就构成了一个16x16点阵汉字的字模。
[CTF]ACSII码的更多相关文章
- 编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127)。不在范围内的不作统计。
题目描述 编写一个函数,计算字符串中含有的不同字符的个数.字符在ACSII码范围内(0~127).不在范围内的不作统计. 输入描述: 输入N个字符,字符在ACSII码范围内. 输出描述: 输出范围在( ...
- php和js字符串的acsii码函数
简单普及下编码知识: javascript中有charCodeAt(),根据字符查找ascii码. String.fromCharCode(),根据ascii码查找对应的字符. console.log ...
- 标准键盘 acsii码值 表
码值 含义 备注 0x08 Backspace键 0x09 Tab键 0x0C Clear键 Num Lock关闭时的数字键盘5 0x0D Enter键 0x10 Shift键 0x1 ...
- 空格 ACSII码 160 32
ascii160和ascii32都表示空格,但是在IE里,160就不是显示空格,firefox里会显示空格,32不管是firefox里,还是IE里都显示空格.
- 使用java实现hex和ascii码的转换
几乎很少写JAVA代码,第一是确实不会,第二感觉JAVA写起来不爽(较python.golang),但总有万不得已必须要用java的时候.这里记录下使用java实现的hex十六进制和acsii码之间的 ...
- 单引号和0的ASCII码
单引号的ASCII码为0xfe. 那么0xfefe,就表示''. 0的ACSII码为0x30.
- 深入理解JVM-java字节码文件结构剖析(练习解读字节码)
public class MyTest2 { String str = "Welcome"; private int x = 5; public static Integer in ...
- 源码分析系列 | 从零开始写MVC框架
1. 前言 2. 为什么要自己手写框架 3. 简单MVC框架设计思路 4. 课程目标 5. 编码实战 5.1 配置阶段 web.xml配置 config.properties 自定义注解 5.2 初始 ...
- Python-内置函数小结
内建函数,Python内置的函数(build in function),不需要引用其他包,一般成为BIF abs() 计算绝对值,abs(-10),接收number,返回一个number ma ...
随机推荐
- mysql基本指令2
pymysql: - 连接.关闭(游标) - execute() -- SQL注入 sss' or 1=1 -- - 增删改: conn.commit() - fetchone f ...
- OWASP TOP 10 详解
OWASP--开放式web应用程序安全项目 参考文献:袁鸣凯.OWASP Top 10十大风险 – 10个最重大的Web应用风险与攻防.2016-9-18. https://blog.csdn.n ...
- Codeforces Round #699 (Div. 2)
A Space Navigation #include <bits/stdc++.h> using namespace std; typedef long long LL; #define ...
- springboot整合持久层技术(mysql驱动问题)
java.sql.SQLException: The server time zone value '�й���ʱ��' is unrecognized or represents more tha ...
- IDEA如何像ecplise一样添加jar包?
以前使用ecplise开发代码,现在换成IDEA,有很多操作都不习惯,比如添加jar包.网上可以找到IDEA好几种添加jar包的方法,这里主要介绍在用IDEA开发时如何像ecplise一样添加jar包 ...
- 世界国省市区SQL语句(mysql)
CREATE TABLE loctionall ( country VARCHAR(40) , provice VARCHAR(40) , city VARCHAR(40) , CONSTRAINT ...
- 2019_西湖论剑_预选赛 testre
2019_西湖论剑_预选赛 testre 程序中关键操作是比较ptr,其中夹杂的一部分v26计算是为了混淆我们的分析.那么我们只要跟踪ptr数组的生成便可,向上发现v11,加密操作数组. 接下来跟踪v ...
- JAVA面试核心知识点(一):计算机网络
一·计算机网络 1.1 网络基础知识 OSI 七层协议(制定标准使用的标准概念框架): 物理层(传递比特流0101)->数据链路层(将比特流转换为逻辑传输线路)->网络层(逻辑编址,分组传 ...
- 懵了!女朋友突然问我MVCC实现原理
前言 都知道事务的可重复读级别实现原理是使用MVCC实现的,那么你对MVCC的底层实现原理知道多少呢?面试高频点,你值得拥有. 一.MVCC到底是什么? MVCC即多版本控制器,其特点就是在同一时间, ...
- [Fundamental of Power Electronics]-PART II-7. 交流等效电路建模-7.4 规范电路模型
7.4 规范电路模型 在讨论了推导开关变换器交流等效电路模型的几种方法后,让我们先停下来,说明下这些结果.所有的在 CCM下以PWM工作的DC-DC变换器都具有相似的基本功能.首先,他们在理想情况下, ...