当前位置: 首页 > news >正文

江苏省质量建设厅网站宁波网络推广优化公司

江苏省质量建设厅网站,宁波网络推广优化公司,快速建立平台网站开发需要多少钱,wordpress get postsHex数据老大难 不少人都困扰于如何将电脑中读取到的string类型的数据变成整形发送出去。一半来说,不论你调用的通信方式是串口的还是网络的,亦或是PCIE的,其在电脑端的实际情况都是以系统API的形式呈现的。而系统API函数提供的接口&#xff…

Hex数据老大难

不少人都困扰于如何将电脑中读取到的string类型的数据变成整形发送出去。一半来说,不论你调用的通信方式是串口的还是网络的,亦或是PCIE的,其在电脑端的实际情况都是以系统API的形式呈现的。而系统API函数提供的接口,本质上只需要两类变量即可:

1.你的数据首位地址,一半来说就是一个char*变量;
2.你的数据总共长度。

比如,如果你使用ASCII编码,一串string发送的过程就是,你将这串string的首地址告诉API,再将string的长度告诉API,然后API根据这一串数据去读取地址控件中相应长度的数据。

一个地址char 变量内保存的数据是什么,是我们比较关心的。比如,如果你使用的是char * 表示的一串数据(string),那么根据string中的每一个字符元素对应的ASCII码,才是实际内存中char代表的内容。

所谓HEX,其实无意义,因为不论是什么样的数据或者编码,在内存里其实存的都是二进制,你按16位16位的取就可以了,API发送的也是直接内存里的二进制数据。重点始终在于,我们如何整理好我们在内存中的二进制数据。

%c与%d

让我们打开天窗说亮化吧,一个char对应的保存内容是什么,由下面这个东西可以解释:


char a = 97;//%c a %d 97char a = a;//报错char a = 'a';//%c a %d 97char a = "a";//报错char a = 'WIND';//%c D %d 68char a = '爱';//%c ? %d -46(这个后面专门再讨论)

也就是说,一个char的内存其很固定,一直都是一个8位宽字节,里面保存了一个整数,比如97。也就是说,实际API发送的东西就是%d的东西,一个char由一个8位宽字节表示,所以其范围为0到255(ASCII的总字符数少于255)。如果char a表示了一个不在ASCII里的字符,那么它一定是某个其他你暂时不知道的编码格式里的数字–文字对应表,你需要找到这样的对应表,比如UINCODE编码的本质就是一种数字–文字对应表,GBK也是。

这里我们展示三种实验:

#include<iostream>
int main() 
{char a = '爱';int len = sizeof(a);printf("c is :%c \nd is %d \nlen is %d \n",a,a,len);return 0;
}

在这里插入图片描述

#include<iostream>
int main() 
{int a = '爱';int len = sizeof(a);printf("c is :%c \nd is %d \nlen is %d \n",a,a,len);return 0;
}

在这里插入图片描述

#include<iostream>
int main() 
{long a = '爱';int len = sizeof(a);printf("c is :%c \nd is %d \nlen is %d \n",a,a,len);return 0;
}

在这里插入图片描述

我们在汉字字符集编码查询中找到如下结论:

在这里插入图片描述

可以发现,尽管你的输入是个汉字,但依然是以数字的方式与汉字对应的。你的char整形或者int整形,保存的事实上也是数字,是一串固定位宽的数据,所以你只要保证你的%d数据正确,天然的就是HEX,根本就不用特地的再转。

最后,援引一些我问大佬的结论:

'爱’这样的写法赋值,跟你所用的文本工具(比如cpp)打开后的编码方式直接相关。

如何%d的赋值

好了,现在我们考虑这样一个问题:

你有一个char a = ‘1’;

你如何把char b = 1;

赋值成这种形式?

#include<iostream>
int main() 
{char a = '1';int len = sizeof(a);char b = atoi(&a);printf("c is :%c \nd is %d \nlen is %d \n", b, b,len);return 0;
}

没错,用最简单的stoi或者atoi函数转换一下就可以了。

在这里插入图片描述

http://www.ds6.com.cn/news/6235.html

相关文章:

  • 临沂企业自助建站系统湖人最新消息
  • 深圳 网站建设培训学校网站管理系统
  • 网站 只收录首页打开免费百度啊
  • 湖南株洲网网站优化推广
  • 博彩网站开发不存储数据犯法吗芜湖网络营销公司
  • 门业网站 源码免费外链生成器
  • 西安网站建设全包徐州百度快照优化
  • 网站改版的好处seo整站优化外包公司
  • java开发网站开发费用义乌最好的电商培训学校
  • 阿里云部署一个自己做的网站保定网站推广公司
  • 建设公司网站开发方案关键词搜索工具有哪些
  • 深圳做网站推荐哪家公司阳山网站seo
  • 南阳网站推广公司提高工作效率心得体会
  • 天水企业网站建设seo排名点击手机
  • php网站项目网页搜索快捷键
  • 网站301跳转怎么做青岛seo软件
  • 网站制作方案相信乐云seosemantics
  • 汽车网站建设公司长尾词seo排名
  • 选择荣胜网络宁波网站建设中国站长之家网站
  • 百宝图建设工程电子网站常德网站seo
  • 吉安做网站网站seo优化外包顾问
  • 中关村在线官方网站网页版
  • 深圳网站建设公司哪家可以建app网上营销模式
  • 淄博张店网站排名优化我要看今日头条
  • 关于加强政务网站建设的通知seo免费推广
  • 南宁商城网站建设独立站建站平台
  • 网站管理系统图片互联网营销怎么做
  • 阳江做网站的公司宁波专业seo外包
  • WordPress主题开发核心主食北京推广优化公司
  • 织梦网站更换域名新闻报道最新消息今天