对于一个非计算机专业出身的人,以前只知道计算机中所有的数据都是以二进制形式进行存储,计算,通信的。但是人类文明中,主要的信息展现以文本的形式展现的。如果使用内存中的0和1来表示文本一直都是一个问题,因为每一个人都可以制定自己的编码。这种现象直到ASCII的出现。ASCII统一了数字,字母,符号的二进制编码。

        美国标准ASCII有128个,0-32和127是控制字符或通信字符,如控制符:LF(换行), CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(振铃)等。通讯专用字符:SOH(头文)、EOT(文尾)、ACK(确认)等。他们没有特定的图形显示,单会依不同的程序,对文本显示有不同的影响。
        33-126是字符,48-57为0-9数字
        65-90为26个大写字母,97-122号为26个小写字母。其余的为一些符号,运算符号。
同时还要注意,标准ASCII的最高位Bit7是一个奇偶校验位。扩展的ASCII有258个,最高位用来确定附加的128个特殊字符,外来字母和图形符号。

    举个例子:看看ASCII  --- ‘A’是如何用二进制表示的 0100 0001  十六进制为:0x41,十进制是65。作为一个程序员大家在VS中经常放在一个字符上的时候,会出现两个值,一个值是ASCII的十进制,一个是ASCII对应的字符。

    现在大家想一个问题,如果在数据传输的过程中,A-->B计算机需要发送"abc"这样的字符串,本质上时发送的abc三个字符对应的ASCII码。如果我们通过串口发送,必须要把’abc‘转化为二进制或者16进制。特别注意:因为一个每个ASCII会对应一个字符(有显示符号的,无显示符号的)。 例如我们想要发送字符串“2D”,许多程序员由于对ASCII理解不到位,因此直接把"2D"当成ASCII的16进制发送了,而实质上发送过去的是:0x3244。因此产生了数据的传输过去后,由于错误的理解,当然会解析错误。

现在明确一点,在电脑屏幕上显示的都是以ASCII对应的字符显示的,而数据的存储,传输,计算在计算机内部都是二进制的形式表示的。

        

Ascii码 、16进制与 char的更多相关文章

  1. ASCII和16进制

    所谓的ASCII和16进制都只是概念上的东西,在计算机中通通是二进制 转换应该是输出的转换,同样是一个数,在计算机内存中表示是一样的,只是输出不一样ASCII是针对字符的编码,几乎是键盘上的字符的编码 ...

  2. ASCII和16进制对照表

    十六进制代码 MCS 字符或缩写 DEC 多国字符名 ASCII 控制字符 1 00 NUL 空字符 01 SOH 标题起始 (Ctrl/A) 02 STX 文本起始 (Ctrl/B) 03 ETX ...

  3. 将16进制unsigned char数组转换成整数

    /** * 将unsigned char数组转换成long long数值 * {0x00 0x00 0x20 0x00}转换之后得到8192 * * @param str 数组 * @param le ...

  4. JS实现——Base64编码解码,带16进制显示

    在网上找了个JS实现的Base64编码转换,所以就想自己研究下,界面如下: 将代码以BASE64方式加密.解密 请输入要进行编码或解码的字符: 编码结果以ASCII码16进制显示 解码结果以ASCII ...

  5. ASCII码与16进制的互相转换(表)

    所谓的ASCII和16进制都只是概念上的东西,在计算机中通通是二进制 转换应该是输出的转换,同样是一个数,在计算机内存中表示是一样的,只是输出不一样ASCII是针对字符的编码,几乎是键盘上的字符的编码 ...

  6. 16进制串与ASCII字符串相互转换

    提供两个函数,方便十六进制串与ASCII 字符串之间的相互转换,使用函数需要注意的是返回的串是在堆上通过 calloc 分配的,所以,记得使用完返回值释放该块,并且将指向该块的指针 =NULL .// ...

  7. [ACM_模拟] ZOJ 3713 [In 7-bit 特殊输出规则 7bits 16进制]

    Very often, especially in programming contests, we treat a sequence of non-whitespace characters as ...

  8. java 16进制与字符串直接相互转换

      java 16进制与字符串直接相互转换 CreationTime--2018年7月12日09点39分 Author:Marydon 1.16进制转换成字符串 /** * 16进制直接转换成为字符串 ...

  9. 字符串/16进制/ASCII码的转换

    1 /// <字符串转16进制格式,不够自动前面补零> 2 /// 假设文本框里面填写的是:01 02 03 04 05 06 3 /// Str获取的是01 02 03 04 05 06 ...

随机推荐

  1. 用pytorch进行CIFAR-10数据集分类

    CIFAR-10.(Canadian Institute for Advanced Research)是由 Alex Krizhevsky.Vinod Nair 与 Geoffrey Hinton 收 ...

  2. (转)在Struts 2.0中国际化(i18n)您的应用程序 + 本人拓展备注

    转:http://www.blogjava.net/max/archive/2006/11/01/78536.html 国际化是商业系统中不可或缺的一部分,所以无论您学习的是什么Web框架,它都是必须 ...

  3. 数学相关比较 牛顿迭代法求开方 很多个n的平方分之一

    牛顿迭代法求开方 牛顿迭代法 作用: 求f(x) = 0 的解 方法:假设任意一点 x0, 求切线与x轴交点坐标x1, 再求切线与x轴交点坐标x2,一直重复,直到f(xn) 与0的差距在一个极小的范围 ...

  4. Python3 From Zero——{最初的意识:008~初级实例演练}

    一.构显国际橡棋8x8棋盘 #!/usr/bin/env python3 #-*- coding:utf-8 -*- color_0="\033[41m \033[00m" col ...

  5. 【python】collections的使用

    老师布置了一个课后作业. 统计文本中字母出现的次数并找到最大的那一个 首先是读取文本吧.和c里的也差不多,打开,关闭,读取. path = f = f.close() 然后就用到了这个黑科技.coll ...

  6. java 冒泡排序法、选择排序

    1.冒泡排序 /* * 冒泡排序 * 外层控制循环多少趟,内层控制每一趟的循环次数 */ public class Test08 { public static void main(String[] ...

  7. kaggle 实战 (1): PCA + KNN 手写数字识别

    文章目录 加载package read data PCA 降维探索 选择50维度, 拆分数据为训练集,测试机 KNN PCA降维和K值筛选 分析k & 维度 vs 精度 预测 生成提交文件 本 ...

  8. vs2013x64&&qt5.7.1编译osg3.4.0&&osgEarth2.7

    此文仅备忘: 1.安装VS2013_Cn_Ult 2.安装qt-opensource-windows-x86-msvc2013_64-5.7.1 设置环境变量QTDIR,并将其bin加入到path中. ...

  9. 配置类一@CrossOrigin

    @CrossOrigin是用来处理跨域请求的注解 跨域:指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制. 所谓同源是指,域名,协议,端口 ...

  10. day17 文件处理及简单函数

    Python之路,Day5 = Python基础5 常亮 用大写来做提示 chr() # 数字转字符ord() # 字符转数字 读文件 要以读文件的模式打开一个文件对象,使用Python内置的open ...