2.1.3字符和字符串

简介: 2.1.3字符和字符串

字符和字符串

1.1 ASCLL码

键盘中有一些字符数字,还有在屏幕总无法打印出来的,用于控制计算机的字符,上下键,Delete等等

由于计算机硬件只能识别0101这样的二进制数,所以用一定规则映射成0101这样的二进制数

常用控制字符共128个 =7位的二进制编码=27=128

一个bit表示0和1两种,用来代表二进制位,8个bit便可以表示256种情况=28

通常计算机处理数据的时候1个字节为处理单位=8bit

可印刷字符:32~126,其余为控制、通信字符

数字:48对应二进制为(00110000)=(0011 0000)~57(0011 1001) 0011相同,后面0000、1001刚好代表十进制数为0-9

大写字母:65对应二进制为(01000001)=(0100 0001)~90(0101 1010) 010相同,后面00001、11010代表的十进制数为0、26,范围就是0-26

小写字母:97对应二进制为(01100001)=(0110 0001)~122(0111 1010) 010相同,后面00001、11010代表的十进制数为0、26,范围就是0-26

1.2 汉字的表示和编码

GB 2312-80:汉字+各种符号共7445个

区位码:94个区,每个区94个位置 相当于一个格子(区,位)

国标码:在区位码基础上每个区位加上20H,防止信息交换时“控制/通信字符冲突”

区位码需要在加上20H,就是32的16进制表示,因为控制编码位于0-32.为了防止计算机把识别的字符当成指令,

所以区位码都会从32开始,而不是从0开始,这时候ASCLL码表,表示汉字的范围是32-125

汉字内码:在国标码基础上每个区位+80H(80H十六进制对应10000000二进制 最高位为1 ),ASCLL码最高位为0,加上1的话,保证与ASCLL码区分,不重合。就在原来的基础上加128,这时候一个计算机判断输入的字符为一个字节<128,就说明这是一个英文字符。如果计算机读了一个字节,还有下一个字节,把这两个字节组合起来,就能对应上一个汉字

输出:汉字字形码

1.3 字符串

英文字符

中文字符


相关文章
|
5月前
|
存储 监控 数据可视化
大模型可观测1-5-10:发现、定位、恢复的三层能力建设
本文通过丰富的代码Demo和截图为读者提供了可落地的实践指南。
803 34
大模型可观测1-5-10:发现、定位、恢复的三层能力建设
|
Web App开发 前端开发
【前端异常】Unchecked runtime.lastError: Could not establish connection. Receiving end does not exist.
【前端异常】Unchecked runtime.lastError: Could not establish connection. Receiving end does not exist.
1855 0
|
传感器 算法 安全
【C语言】两个数组比较详解
比较两个数组在C语言中有多种实现方法,选择合适的方法取决于具体的应用场景和性能要求。从逐元素比较到使用`memcmp`函数,再到指针优化,每种方法都有其优点和适用范围。在嵌入式系统中,考虑性能和资源限制尤为重要。通过合理选择和优化,可以有效提高程序的运行效率和可靠性。
1016 6
|
传感器 数据采集 存储
项目实战:嵌入式系统应用开发
项目实战:嵌入式系统应用开发
|
C语言
ASCII编码的52个大小写字母
ASCII编码的52个大小写字母
21866 1
|
运维 监控 网络架构
|
调度 C语言 芯片
RT-Thread记录(二、RT-Thread内核启动流程 — 启动文件和源码分析)
今天就在前面我们RT-Thread Studio工程基础之上讲一讲RT-Thread内核启动流程
935 0
RT-Thread记录(二、RT-Thread内核启动流程 — 启动文件和源码分析)
|
存储 传感器 芯片
STM32--SPI通信与W25Q64(1)
STM32--SPI通信与W25Q64(1)
769 0
|
IDE 编译器 Linux
你应该搞懂的 C 语言头文件路径问题
聊聊系统路径位置,绝对路径与相对路径,正斜杠 `/` 与 反斜杠 `\` 使用说明 ...... by 矜辰所致
723 0
你应该搞懂的 C 语言头文件路径问题