ASCII码

简介: 看一本书的时候想到的,感觉有点不务正业了,其实我感觉我需要一个全能助手,随时回答我的疑问   ASCII码是用来表示“字符”的。这里的字符包括了0-9九个数字,a-z的26个字母的大小写,各个标点符号,以及回车、空格、退格等一些特殊符号。

看一本书的时候想到的,感觉有点不务正业了,其实我感觉我需要一个全能助手,随时回答我的疑问

 

ASCII码是用来表示“字符”的。
这里的字符包括了0-9九个数字,a-z的26个字母的大小写,各个标点符号,以及回车、空格、退格等一些特殊符号。
ASCII 码使用指定的8位二进制数组合来表示,每个ASCII码是一个8位二进制数,一个ASCII码只能表示一个字符。

补码是用来表示带符号数字的。先将十进制数转成相应的二进制数,在最高位前加上0或1代表数字的正负,就产生了数字的原码,再按一定的规则转换成补码。
补码只能表示数字。不能表示字母或标点等特殊字符。

举个例,比如数字67,补码表示为:01110011,8位二进制数表示一个数字。
如果用到ASCII码,只能对6和7这两个数字分别用8位二进制数表达,因为ASCII码的存放是以每一位为单位的,每个ASCII码只能表示一个字符。
6:00110110
7:00110111
67: 00110110 00110111


以ASCII码形式存储,每个数字占1个字节,10002是5个数字,占5个字节
以二进制形式存储,每个整数不论大小占2个字节,10002是1个整数,占2个字节


A对应于十六进制的10,也即二进制的1010,所以以二进制存储时是1010,在内存中具体的位数和你的操作系统有关
如果用一个记事本打开一个图像文件或者声音文件或者一个EXE文件
会显示乱码,就是因为记事本以文本格式来打开所需要打开的内容,即用文本格式(或者说字符格式)来处理二进制数据导致的结果

 


计算机存储数字时为什么不用ASCII码呢?那个表里不是也有数字么?
因为用 ASCII 码存储数字不够经济,而且不方便计算。
补充:
举个例子,12345 和 6789 两个数字,假如用 ASCII 码储存,就会是:
00110001 00110010 00110011 00110100 00110101

00110110 00110111 00111000 00111001
但是用正常的二进制整形储存,就会是:
00110000 00111001

00010110 00101110
如果要计算 12345+6789,明显用二进制储存就会比 ASCII 占优势。
追问:
那为什么表里还要有数字呢,都用二进制不就行了
回答:
ASCII 表里还是需要数字,因为计算出来的结果还是需要打印出来了,这时候就需要把二进制的数字转换成为 ASCII 码了。输入的时候,就是反过来把 ASCII 码转换成为二进制来保存了。更何况有时候数字更侧重于文字意思,如 3D、AK47,这样的组合就必须用 ASCII 码来储存了。

其实除了整型以外,还有实型的数字,处理小数点。终结一句,就是数字在计算机里面可以有不同的储存方式,是要看用哪一种表达方式比较方便的。也因此,在计算机语言中必须说明用哪一种方式储存,也就是变量的数据类型。

 

 


在计算机的存储单元中,一个ASCII码值占一个字节(8个二进制位),其最高位用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位添1。

 

 

 

大家好,我想问一下ascii码是存储在计算机哪里?是在操作系统中就安装好了吗?还是存储在硬件上?

1、微机的键盘是带CPU的,它把按键信息转换成对应的ascii码,传给主机,操作系统接收到的就是一串ascii字符了。在dos操作系统时代,操作系统只要把对应的ascii码存到显存里,显卡就会根据ascii码查找字模,并显示在屏幕上。windows时代,由于是图形界面,可设定不同字体及字号等,所以这个由ascii码转换成字模的过程就是windows的底层接口和显示驱动来完成的。这一切的处理过程与显示器无关,显示器只是把显卡送来的视频信号扫描出来而已。
2、ascii码本身不需要储存,需要储存的只是代码和字模的对应表
3、键盘和鼠标均是基本的硬件,可以说是最低层的设备,它内部会有CPU处理这些信号,把按键信息处理成主机可识别的二进制数据,然后送给主机,主机收到这些信息时会触发中断,中断信号会传递给CPU,CPU在允许的情况下就会接收这些数据,这是硬件层面的理解。
主机接收数据及处理数据的过程则是软件层面的理解了,驱动负责把这些数据转换成操作系统可理解的数据,操作系统根据再根据这些数据,进行相应操作,如把字符显示到屏幕上。

你的提问中,可见你对计算机原理的理解是很混乱的,还是先看看书吧


在计算机的存储单元中,一个ASCII码值占一个字节(8个二进制位),其最高位用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位添1。

 

目录
相关文章
|
7月前
|
安全 Serverless API
MCP Server 之旅第 5 站:服务鉴权体系解密
本文深入探讨了MCP协议在授权机制上的演进与函数计算对MCP场景下Auth的支持。文章从MCP协议的授权发展入手,分析了2024-11-05无授权支持到2025-03-26基于OAuth 2.1的授权机制,再到最新Draft中引入Protected Resource Metadata(RFC9728)的变化。同时,详细介绍了函数计算如何通过Bearer认证方式解决MCP场景下的授权问题,帮助开发者降低开发成本并提升安全性。
|
Android开发 Swift iOS开发
深入探索iOS与Android操作系统的架构差异及其对应用开发的影响
在当今数字化时代,移动设备已经成为我们日常生活和工作不可或缺的一部分。其中,iOS和Android作为全球最流行的两大移动操作系统,各自拥有独特的系统架构和设计理念。本文将深入探讨iOS与Android的系统架构差异,并分析这些差异如何影响应用开发者的开发策略和用户体验设计。通过对两者的比较,我们可以更好地理解它们各自的优势和局限性,从而为开发者提供有价值的见解,帮助他们在这两个平台上开发出更高效、更符合用户需求的应用。
|
8月前
|
数据可视化 BI API
不用买系统、不请IT,用二维码搭起高效电子巡更流程
本文介绍了一种利用二维码实现高效电子巡更的解决方案。相比传统系统,这种方式无需购买昂贵设备或聘请IT人员,仅通过手机扫码即可完成巡检任务。它具有部署简单、调整灵活的特点,支持定位记录、现场拍照上传等功能,有效防止造假。同时,异常处理流程清晰,可直接扫码上报并自动通知负责人,大幅提升效率。此外,系统支持多人协作与权限管理,数据查询方便且可导出分析。真实案例显示,该方法已在商场、校园和制造企业中成功应用,显著提高了巡更完成率和问题响应速度,降低了成本。对于预算有限但追求高效管理的单位来说,这是一种实用且可行的选择。
|
Web App开发 前端开发 程序员
将微信公众号文章同步到阿里云开发者社区
本文介绍了一种通过自己拓展的浏览器插件,便捷地将微信公众号文章同步到阿里云开发者社区的方法。
339 6
|
安全 编译器 C++
智能指针shared_ptr、unique_ptr、weak_ptr
智能指针shared_ptr、unique_ptr、weak_ptr
592 0
【Vue3学习】—Vue3基本知识点总结
【Vue3学习】—Vue3基本知识点总结
|
运维 安全 Linux
【运维知识进阶篇】手把手教你搭建OpenVPN(保姆级教程)(一)
【运维知识进阶篇】手把手教你搭建OpenVPN(保姆级教程)
18259 2
|
存储 编解码 缓存
x264代码剖析(十七):核心算法之熵编码(Entropy Encoding)
<h1 style="text-align:center"><strong>x264<span style="font-family:宋体">代码剖析(十七):核心算法之熵编码(Entropy Encoding)</span></strong></h1> <p align="center"><strong></strong></p> <p> </p> <p><span style="
4792 0