【字符编码系列一】ASCII编码是什么?

介绍 

       ASCII 编码于 1967 年第一次发布,最后一次更新是在 1986 年,迄今为止共收录了 128 个字符,包含了基本的拉丁字母(英文字母)、阿拉伯数字(也就是 1234567890)、标点符号(,.!等)、特殊符号(@#$%^&等)以及一些具有控制功能的字符(回车空格之类的)。

        ascii编码共收录了 128 个字符,用一个字节就可以存储,他的首字节是0.

        后续又更新了扩展ascii,将其扩展到了255个字符,也就是将首字节1也用上了。我们常见得GBK等兼容ascii码都是指的前128个字符。

        ASCII 码的十进制范围为 [0-255],包括 [0-31] 为控制字符或通信专用字符,[32-127] 为可打印字符,[128-255] 为扩展的 ASCII 码。

示例描述

        在硬件中,通过高电平和低电平区分信号,对应着二进制中的0和1.

        一个字节有8位,每位都是0或1.

        这里面的每位是我们熟知的bit,8bit构成了1byte,1024byte就扣成了1KB,1024KB就构成了1MB

        ascii码就是1字节可以存储表示的字符

        如:字符0的二进制形式 0000 0000

        8位的二进制,最多可以表示256个字符,即十进制中的0~255。在ascii中(无扩展),首位为0不为1,所以只能表示128个数

        接下来会用16进制来表示,因为在后续使用中我们要将这个字符显示出来时,使用16进制更容易计算如何在字库中查找字符。二进制中每4位可以转换成一个16进制

        比如 0010 0101中前四位0010,用每位分别×8/4/2/1相加得到的就是第一位16进制。 即0x8+0x4+1x2+0x1=2。

同理后4位转换:0x8+1x4+0x2+1x1=5

        将这两个数组合起来就是0x25(签名添加0x来和十进制表示方式做区分),这个值在ascii中代表了百分号%,如下表所示

DEC 十进制

OCT 八进制

HEX 十六进制

BIN 二进制

Symbol

HTML Number

HTML Name

Description

中文描述

37

045

0x25

00100101

%

%

Per cent sign

百分号

        十六进制单数的范围是0~F即0~9,A,B,C,D,E,F其中0~9即十进制中的0~9,超过9之后用字母表示,A~F代表十进制中的10~15

        例如,在C++中用16进制数赋值一个单字节字符串char并打印,终端中显示出了该16进制代表的字符 ‘!’。因为ascii只用一个字节就可以表示 

#include <iostream>

int main()
{
    const char ascii = 0x21;
    std::cout << ascii;
    system("pause");
}

        该程序运行结果:

         由于ascii编码只收录了一些阿拉伯数字、英文字符等,他并不能展示汉字、汉语、日文等等其他的文字,所以后续各国效仿开发自己的字符编码,例如 ISO/IEC 8859(欧洲字符集)、shift_Jis(日语字符集)、GBK(中文字符集)等,也经过了几个版本迭代。如GB2312-》GBK-》GB18030等,下一篇文章将讲述GB2312

附:ascii编码表

二进制

十进制

十六进制

字符/缩写

解释

00000000

0

00

NUL (NULL)

空字符

00000001

1

01

SOH (Start Of Headling)

标题开始

00000010

2

02

STX (Start Of Text)

正文开始

00000011

3

03

ETX (End Of Text)

正文结束

00000100

4

04

EOT (End Of Transmission)

传输结束

00000101

5

05

ENQ (Enquiry)

请求

00000110

6

06

ACK (Acknowledge)

回应/响应/收到通知

00000111

7

07

BEL (Bell)

响铃

00001000

8

08

BS (Backspace)

退格

00001001

9

09

HT (Horizontal Tab)

水平制表符

00001010

10

0A

LF/NL(Line Feed/New Line)

换行键

00001011

11

0B

VT (Vertical Tab)

垂直制表符

00001100

12

0C

FF/NP (Form Feed/New Page)

换页键

00001101

13

0D

CR (Carriage Return)

回车键

00001110

14

0E

SO (Shift Out)

不用切换

00001111

15

0F

SI (Shift In)

启用切换

00010000

16

10

DLE (Data Link Escape)

数据链路转义

00010001

17

11

DC1/XON
(Device Control 1/Transmission On)

设备控制1/传输开始

00010010

18

12

DC2 (Device Control 2)

设备控制2

00010011

19

13

DC3/XOFF
(Device Control 3/Transmission Off)

设备控制3/传输中断

00010100

20

14

DC4 (Device Control 4)

设备控制4

00010101

21

15

NAK (Negative Acknowledge)

无响应/非正常响应/拒绝接收

00010110

22

16

SYN (Synchronous Idle)

同步空闲

00010111

23

17

ETB (End of Transmission Block)

传输块结束/块传输终止

00011000

24

18

CAN (Cancel)

取消

00011001

25

19

EM (End of Medium)

已到介质末端/介质存储已满/介质中断

00011010

26

1A

SUB (Substitute)

替补/替换

00011011

27

1B

ESC (Escape)

逃离/取消

00011100

28

1C

FS (File Separator)

文件分割符

00011101

29

1D

GS (Group Separator)

组分隔符/分组符

00011110

30

1E

RS (Record Separator)

记录分离符

00011111

31

1F

US (Unit Separator)

单元分隔符

00100000

32

20

(Space)

空格

00100001

33

21

!

00100010

34

22

"

00100011

35

23

#

00100100

36

24

$

00100101

37

25

%

00100110

38

26

&

00100111

39

27

'

00101000

40

28

(

00101001

41

29

)

00101010

42

2A

*

00101011

43

2B

+

00101100

44

2C

,

00101101

45

2D

-

00101110

46

2E

.

00101111

47

2F

/

00110000

48

30

0

00110001

49

31

1

00110010

50

32

2

00110011

51

33

3

00110100

52

34

4

00110101

53

35

5

00110110

54

36

6

00110111

55

37

7

00111000

56

38

8

00111001

57

39

9

00111010

58

3A

:

00111011

59

3B

;

00111100

60

3C

<

00111101

61

3D

=

00111110

62

3E

>

00111111

63

3F

?

01000000

64

40

@

01000001

65

41

A

01000010

66

42

B

01000011

67

43

C

01000100

68

44

D

01000101

69

45

E

01000110

70

46

F

01000111

71

47

G

01001000

72

48

H

01001001

73

49

I

01001010

74

4A

J

01001011

75

4B

K

01001100

76

4C

L

01001101

77

4D

M

01001110

78

4E

N

01001111

79

4F

O

01010000

80

50

P

01010001

81

51

Q

01010010

82

52

R

01010011

83

53

S

01010100

84

54

T

01010101

85

55

U

01010110

86

56

V

01010111

87

57

W

01011000

88

58

X

01011001

89

59

Y

01011010

90

5A

Z

01011011

91

5B

[

01011100

92

5C

\

01011101

93

5D

]

01011110

94

5E

^

01011111

95

5F

_

01100000

96

60

`

01100001

97

61

a

01100010

98

62

b

01100011

99

63

c

01100100

100

64

d

01100101

101

65

e

01100110

102

66

f

01100111

103

67

g

01101000

104

68

h

01101001

105

69

i

01101010

106

6A

j

01101011

107

6B

k

01101100

108

6C

l

01101101

109

6D

m

01101110

110

6E

n

01101111

111

6F

o

01110000

112

70

p

01110001

113

71

q

01110010

114

72

r

01110011

115

73

s

01110100

116

74

t

01110101

117

75

u

01110110

118

76

v

01110111

119

77

w

01111000

120

78

x

01111001

121

79

y

01111010

122

7A

z

01111011

123

7B

{

01111100

124

7C

|

01111101

125

7D

}

01111110

126

7E

~

01111111

127

7F

DEL (Delete)

删除

表格来自C语言中文网:ASCII码一览表,ASCII码对照表 (biancheng.net)

参考资料:

也可以在这个网站查询,收录了很多常见的编码表

ASCII码一览表,ASCII码对照表

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/157664.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

直线插补-逐点比较法

直线插补-逐点比较法 逐点比较法四个节拍的工作流程如图所示举例1 逐点比较法 逐点比较法逐点比较法是通过逐点比较刀具与所需插补曲线之间的相对位置&#xff0c;确定刀具的进给方向&#xff0c;进而加工出工件轮廓的插补方法。刀具从加工起点开始&#xff0c;按照“靠近曲线…

TP_Link WR886N 硬改闪存16M内存64M,刷入openwrt

一、换内存&#xff0c;拆闪存&#xff1a; 1、先原机开机试试是否功能正常&#xff1b; 2、拆机&#xff0c;比较难拆&#xff0c;容易坏外壳&#xff1b; 3、找到内存和闪存&#xff0c;用胶带把边上的小元件&#xff0c;电阻都贴好&#xff1b; 4、加助焊油&#xff0c;用风…

人脸识别4G执法记录仪、一体化智能AI布控球在智慧社区、智能网格中的应用

智慧社区守护者&#xff1a;人脸识别与智能监控技术的融合创新 随着城市的飞速发展和科技的不断进步&#xff0c;智慧社区和智能网格的概念已经成为现代城市管理的一个重要趋势。在这一过程中&#xff0c;人脸识别技术、4G执法记录仪以及一体化智能AI布控球等智能监控设备&…

探索计算机视觉技术的应用前景

计算机视觉技术是人工智能领域中一项至关重要的技术&#xff0c;它通过模拟人类视觉系统的工作原理&#xff0c;使计算机能够以一种类似于人类的方式理解和解释图像和视频。这项技术不仅在学术界受到了广泛关注&#xff0c;而且在商业领域也得到了广泛应用。 计算机视觉技术的应…

Libvirt-Qemu-Kvm 操作手记

(持续更新~) 本文主要用于记录在操作libvirt qemu kvm过程中遇到的问题及原因分析。 Hugepage 让qemu使用大页可以减少tdp的size&#xff0c;一定程度上可以提高性能&#xff1b;使用大页可以用memfd或者file backend。 memfd 操作步骤如下&#xff1a; 在系统中reserv…

接口测试系列之 —— 接口安全测试

“开源 Web 应用安全项目”(OWASP)在 2019 年发布了 API 十大安全风险 《OWASP API 安全 Top10》&#xff1a;失效的对象级别授权、失效的用户身份验证、过 度的数据暴露、资源缺乏和速率限制、失效的功能级授权、批量分配、安全配置 错误、注入、资产管理不当、日志和监视不足…

6. hdfs的命令操作

简介 本文主要介绍hdfs通过命令行操作文件 操作文件有几种方式&#xff0c;看个人习惯 hdfs dfs hdfs fs hadoop fs个人习惯使用 hadoop fs 可操作任何对象&#xff0c;命令基本上跟linux命令一样 Usage [hadoophadoop01 ~]$ hadoop fs Usage: hadoop fs [generic option…

hcia学习:

视频学习&#xff1a; 第一部分&#xff1a;基础学习。 19——子网掩码。

Netty中粘包拆包问题解决探讨

⭐️ 前言 开发的小伙伴们对于Netty并不陌生&#xff0c;本文就Netty粘包拆包问题及其解决方案做一个介绍&#xff0c;希望能对大家有所帮助。 ⭐️ 什么是粘包拆包问题 我们知道&#xff0c;传统的IO是面向流的&#xff0c;而Netty&#xff08;它的底层是Java NIO&#xf…

2023解析企业数据中台:突破数据孤岛,实现数据化管理升级-亿发

当前&#xff0c;各大企业纷纷将业务中台、数据中台、安全中台等纳入建设计划&#xff0c;其中&#xff0c;数据中台被视为重中之重。但是&#xff0c;对于初接触者而言&#xff0c;对数据中台的定义可能存在一些模糊。 下面我们将讨论和讲解对企业建设数据中台的3点建议&#…

字节跳动小程序开发:探索创新的数字化世界

在数字化时代&#xff0c;字节跳动小程序开发成为企业数字化转型的关键一环。通过这一平台&#xff0c;企业能够借助先进的技术和丰富的功能&#xff0c;实现创新、引领市场潮流。本文将通过一些简单的技术代码示例&#xff0c;带你深入了解字节跳动小程序开发的魅力。 1. 小…

浙大恩特客户资源管理系统CustomerAction.entphone;.js 接口任意文件上传漏洞复现 [附POC]

文章目录 浙大恩特客户资源管理系统CustomerAction.entphone;.js 接口任意文件上传漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 浙大恩特客户资源管理系统CustomerAction.entphone;.js 接口任…

PostgreSQL 数据定义语言 DDL

文章目录 表创建主键约束非空唯一约束检查约束外键约束默认值约束 触发器表空间构建表空间 视图索引索引的基本概念索引的分类创建索引 物化视图 表创建 PostgreSQL表的构建语句与所有数据库都一样&#xff0c;结构如下&#xff0c;其核心在于构建表时&#xff0c;要指定上一些…

消除“数据烟囱”,瓴羊港如何打破壁垒将多数据融通成大数据?

作为数字经济时代的“新石油”&#xff0c;数据已成为重要的生产要素。阿里巴巴副总裁、瓴羊CEO朋新宇认为&#xff0c;目前正处在数据流通变革的时代&#xff0c;其中最核心的问题是如何破解数实融合发展的堵点。数据流通中最重要的原则是&#xff0c;不流通无价值&#xff0c…

Docker安装MinIO遇到的问题汇总——持续更新中

文章目录 Docker安装MinIO遇到的坑前言问题1&#xff1a;执行docker run报错Error response from daemon问题2&#xff1a;启动MinIO容器浏览器无法访问问题3&#xff1a;上传文件报错InvalidResponseException问题4&#xff1a;上传文件报错Connection refused最终的启动指令问…

O2OA(翱途)开发平台 V8.2即将发布,更安全、更高效、更开放

尊敬的O2OA(翱途)平台合作伙伴、用户以及亲爱的开发小伙伴们&#xff0c;平台新的版本就要发布啦&#xff01; 上次8.1的发布是在9月1日&#xff0c;又过去两个多月&#xff0c;O2OA研发团队始终踏踏实实地做好产品的研发及优化工作&#xff0c;只为给客户带去更好的服务和产品…

Pixhawk+PX4+VRPN +NOKOV无人机飞控平台动捕数据传输

NOKOV度量动作捕捉系统可以很好的适配PX4无人机飞控平台。进行数据通信的时候&#xff0c;使用SDK或者VRPN的方式都是可以的。本文演示NOKOV度量动作捕捉系统通过VRPN与PX4平台进行数据传输的方法。 一、硬件准备 1、准备无人机 这里准备的无人机&#xff0c;飞控版是Pixhaw…

torch - FloatTensor标签(boolean)数值转换(1/0)

当我们数据集的标签为True/False的boolean型时&#xff0c;我们可以直接使用FloatTensor传入该标签。返回的数据为tensor([0.])或者tensor([1.])&#xff0c;这十分有利于二分类任务的预测标签对错判断。 这个用法是基于Python的布尔类型与整数之间的隐式类型转换。在Python中&…

企业数字化过程中数据仓库与商业智能的目标

当前环境下&#xff0c;各领域企业通过数字化相关的一切技术&#xff0c;以数据为基础、以用户为核心&#xff0c;创建一种新的&#xff0c;或对现有商业模式进行重塑就是数字化转型。这种数字化转型给企业带来的效果就像是一次重构&#xff0c;会对企业的业务流程、思维文化、…

μC/OS-II---消息邮箱管理1(os_mbox.c)

目录 消息邮箱创建消息邮箱删除等待邮箱中的消息向邮箱发送一则消息 消息邮箱创建 OS_EVENT *OSMboxCreate (void *pmsg) {OS_EVENT *pevent; #if OS_CRITICAL_METHOD 3u /* Allocate storage for CPU status register */OS_CPU_SR cpu_sr …