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

网站建设公司 跨界鱼科技专业wordpress中文模版

网站建设公司 跨界鱼科技专业,wordpress中文模版,网站 服务器 带宽 估算 网站流量,wordpress缓存类Hex数据老大难 不少人都困扰于如何将电脑中读取到的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.hyszgw.com/news/72328.html

相关文章:

  • 网站开发应该怎么做中国建设投资集团 网站首页
  • 采集wordpress整站数据免费下载建设银行官方网站下载
  • 秦皇岛 免费建网站网页美工设计师工资
  • 安娜尔返利机器人怎么做网站做短视频的网站
  • 长沙哪家公司做网站网站建设 碧辉腾乐
  • 郑州品牌创意网站建设网站开发的价格
  • 黄冈市网站建设搜索引擎排名的三大指标
  • 网站幻灯片 字段南通公司网站模板建站
  • php做网站的分站网站建设图文教程
  • 秀洲区建设中心小学网站做网站是干嘛
  • 机关单位网站管理部门应建立网站后台上传图片失败
  • 网站页面设计尺寸万全县城乡建设网站
  • 教育行业网站开发岳阳建设商城网站公司
  • 开源建站系统cms公司微信小程序定制
  • 手机 网站开发aspx网站服务器的安全性首先是实现用户账号的权限设置
  • 苏州企业网站建设定制千阳县住房和城乡建设局网站
  • 泗泾做网站公司定制网站建设公司
  • 中英文企业网站制作网站建设在windos的设置
  • 做自己的网站要多久wordpress 文库
  • 网站第三方微信登陆怎么做的找网站做网站做网站
  • 建网站工具彩虹二级域名分发
  • 做室内效果图网站内蒙古城乡建设厅网站资质公告
  • 怀柔区企业网站设计机构提供沈阳专业网站建设报价
  • 二级网站如何一级域名wordpress怎么修改数据库配置文件
  • 网站返回500错误页面唐山网站建设找煌途
  • 平面设计线上兼职山西seo推广
  • 免费个人网站建站申请一下在网上做黑彩网站会怎样处罚
  • 网站建设 个人十大品牌网
  • 网站与维护app开发公司组织结构图
  • 做彩票交流网站犯法吗2023年企业所得税最新政策