bcd与hex转换、以及编码格式

news/2025/2/23 15:30:24

1、BCD码

(1)压缩BCD:4位二进制数表示一个十进制数,例如:

               0001 0010 --> 12  

               0001 0011 --> 13

(2)BCD:8位二进制数表示一个十进制数,高四位为0;

               0000 0001 0000 0010 --> 12 

               0000 0001 0000 0011 --> 13

          一般地,压缩BCD码比较常用,可以节约存储空间。


2、Hex

        Hex就是16进制,本质上是将字节数组转化为16进制,然后用字符串的形式表现出来。

        原理:一个8bit的数据,也就是(xxxx xxxx),每4个bit可以转化为一个16进制表示,也就是8个bit会转化为(00-ff)之间的16进制数字。

        hex编码 :指将数据编码16进制字符串;hex解码:指16进制字符串解码为数据。


3、Ascii

        ASCII码使用一个字节编码,所以它的范围基本是只有英文字母、数字和一些特殊符号 ,一个字节能表示的最大的整数就是255,所以,只有256个字符。

十进制 Ascii 二进制 HexString
0 48 00110000 30
1 49 00110001 31
2 50 00110010 32

4、Unicode能够表示全世界所有的字节,最常用的是用两个字节表示一个字符(如果要用到非常偏僻的字符,就需要4个字节)。

    字母A用ASCII编码是十进制的65,二进制的 01000001;

    字符0用ASCII编码是十进制的48,二进制的 00110000,注意字符'0'和整数0是不同的;

    汉字中已经超出了ASCII编码的范围,用Unicode编码是十进制的20013,二进制的 01001110 00101101。

    可以猜测,如果把ASCII编码的A用Unicode编码,只需要在前面补0就可以,因此,A的Unicode编码是00000000 01000001。


5、GBK是只用来编码汉字的,GBK全称《汉字内码扩展规范》,使用双字节编码。


6、UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。

       UTF-8用1到6个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。
字符           ASCII                  Unicode                                                UTF-8
A           01000001       00000000                                  01000001 01000001
中                 x                01001110 00101101               11100100 10111000 10101101

       从上面的表格还可以发现,UTF-8编码有一个额外的好处,就是ASCII编码实际上可以被看成是UTF-8编码的一部分,所以,大量只支持ASCII编码的历史遗留软件可以在UTF-8编码下继续工作。












http://www.niftyadmin.cn/n/1568637.html

相关文章

caffe-windows编译

#caffe版本:BVLC-caffe-windows # 环境:windows 10\CUDA8.0\cuDNN-v5.1\VS2013 1、GPU计算环境 (1)下载并安装CUDA8.0; (2)下载cuDNN。载后解压会有三个文件夹bin、include、lib。将这三个文…

Tesseract-OCR编译及ViewerDebugging使用

OCR(Optical Character Recognition):光学字符识别,是指对图片文件中的文字进行分析识别,获取的过程。 一、简介 Tesseract-OCR依赖图像库Leptonica。 Leptonica是一个开源的图像处理和图像分析库。它主要包括的操作有:位图操作、…

pytorch使用总结

torch.Tensor - 一个多维数组 autograd.Variable - 改变Tensor并且记录下来操作的历史记录。和Tensor拥有相同的API,以及backward()的一些API。同时包含着和张量相关的梯度。 nn.Module - 神经网络模块。便捷的数据封装,能够将运算移往GPU,…

【pytorch】图像基本操作

为了方便进行数据的操作,pytorch团队提供了一个torchvision.transforms包,我们可以用transforms进行以下操作: PIL.Image/numpy.ndarray与Tensor的相互转化; 归一化; 对PIL.Image进行裁剪、缩放等操作。 通常&#xf…

【pytorch】模型的搭建保存加载

使用pytorch进行网络模型的搭建、保存与加载,是非常快速、方便的。 搭建ConvNet 所有的网络都要继承torch.nn.Module,然后在构造函数中使用torch.nn中的提供的接口定义layer的属性,最后,在forward函数中将各个layer连接起来。 …

【广州华锐互动】VR地铁安全应急疏散模拟演练系统

VR地铁安全应急疏散模拟演练系统是一种利用虚拟现实技术模拟铁路安全事故的应用程序。该系统具有以下功能和内容: 多种场景和情境:用户可以选择不同的场景和情境进行模拟,例如列车脱轨、火灾、爆炸等。 操作控制器或手势识别技术&#xff1…

【pytorch】迁移学习

在很多场合中,没有必要从头开始训练整个卷积网络(随机初始化参数),因为没有足够丰富的数据集,而且训练也是非常耗时、耗资源的过程。通常,采用pretrain a ConvNet的方式,然后用ConvNet作为初始化…

NumPy使用

NumPy数组的创建 1、创建数组:array 2、制定数组类型:dtype 3、创建特殊数组: (1)元素全为0:zeros (2)元素全为1:ones (3)指定元素范围&…