关于物联网的各种转换,16进制 二进制 10进制 效验总结

NBIoT接收十六进制数据格式转化 用pyserial读取NBIoT接收到的数据是十六进制字符串格式: +CSONMI: 0,24,68656C6C6F20776F726C6421 //hello world! 将其转换为可读字符串的python代码如下: if ser.inWaiting(): rec_buff = ser.read(ser.inWaiting()) print(binascii.a2... 阅读详情

字符串插入字符
 

 /// <summary>
        /// 每隔n个字符插入一个字符
        /// </summary>
        /// <param name="input">源字符串</param>
        /// <param name="interval">间隔字符数</param>
        /// <param name="value">待插入值</param>
        /// <returns>返回新生成字符串</returns>
        public static string InsertFormat(string input, int interval, string value)
        {
            for (int i = interval; i < input.Length; i += interval + 1)
                input = input.Insert(i, value);
            return input;
        }

10进制转16进制
 

 static public string Get16string(string num)
        {
            int i = int.Parse(num);
            if (i > 9)
            {
                num = Convert.ToString(i, 16);
                if (num.Length % 2 != 0)
                {
                    num = "0" + num;
                }
            }
            else
            {
                num = "0" + num;
            }
            return num;
        }

上面这个方法,只会补一个0,
假如你输入的是一个1,返回的就是01,但是你想要的是:0001,可以在输出之后使用这个方法

static public string Get16_4wei_String(string num)
        {
            Int64 i = Int64.Parse(num);
            return i.ToString("X4").ToUpper();
        }

这样你就可以得到 4位的 16进制,:0001,会自动进行补0 

16进制转10进制

static  public string Get10string(string num)
        {
            int RtnMsg10 = int.Parse(num.Replace(" ", ""), System.Globalization.NumberStyles.HexNumber);
            return RtnMsg10.ToString();
        }

16进制转2进制
 

 //输出二进制,每4个就会有一个空格
        public static string HexString2BinString(string hexString)
        {
            try
            {
                string result = string.Empty;
                foreach (char c in hexString)
                {
                    int v = Convert.ToInt32(c.ToString(), 16);
                    int v2 = int.Parse(Convert.ToString(v, 2));
                    // 去掉格式串中的空格,即可去掉每个4位二进制数之间的空格,
                    result += string.Format("{0:d4} ", v2);
                }
                return result;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                throw;
            }

        }

倒叙输出二进制

 static public string DaoXuData(string data)
        {
            // 0001 1110  
            // 0000 0000 
            int iData = data.Length - 1;
            string NewData = "";
            for (int i = iData; i > -1; i--)
            {
                NewData += data[i].ToString();
            }
            return NewData;
        }

16进制转ASCII

 public static string HexStringToASCII(string hexstring)
        {
            byte[] bt = strToToHexByte(hexstring);
            string lin = "";
            for (int i = 0; i < bt.Length; i++)
            {
                lin = lin + bt[i] + " ";
            }


            string[] ss = lin.Trim().Split(new char[] { ' ' });
            char[] c = new char[ss.Length];
            int a;
            for (int i = 0; i < c.Length; i++)
            {
                a = Convert.ToInt32(ss[i]);
                c[i] = Convert.ToChar(a);
            }

            string b = new string(c);
            return b;
        }

16进制转Byte[]
 

#region 字符串转16进制,返回Byte[]
        static public byte[] strToToHexByte(String hexString)
        {
            hexString = hexString.Replace(" ", "");

            if ((hexString.Length % 2) != 0)

                hexString += " ";

            byte[] returnBytes = new byte[hexString.Length / 2];

            for (int i = 0; i < returnBytes.Length; i++)

                returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2).Trim(), 16); return returnBytes;
        }
        #endregion

暂时先这样,以后有的话,继续进行更新

继续更新

IEEE754单精度(32位)  16进制转 float 

static public float IEEE754ToFloat(string hex)
 {
            string value = hex.Replace(" ", "");//16进制字符串

            UInt32 x = Convert.ToUInt32(value, 16);//字符串转16进制32位无符号整数

            float fy = BitConverter.ToSingle(BitConverter.GetBytes(x), 0);//IEEE754 字节转换
            return fy;
}

继续更新

16进制转IEEE754双精度 float64


        static public double IEEE754ToDoubleFloat(string hex)
        {
            string value = hex.Replace(" ", "");//16进制字符串

            UInt64 x = Convert.ToUInt64(value, 16);//字符串转16进制32位无符号整数


            double fy = BitConverter.ToDouble(BitConverter.GetBytes(x), 0);//IEEE754 字节转换float
            return fy;
        }

UDP协议在物联网中的实战 UDP(User Datagram Protocol, 用户数据报协议),无连接的传输层协议,提供面向事务的简单不可靠信息传输服务。强调传输性能而不是传输完整性,多用于视频和多媒体应用。.本文对UDP协议进行简单介绍,并基于中国电信AIoT平台进行模拟器开发 阅读详情

相关推荐

16进制数据如何得到奇偶校验位??

如上问题有的来自我自身项目开发,有的收集网站,有的来自读者…如有侵权,立马删除。再者,针对此专栏中部分问题及其问题的解答思路或步骤等,存在少部分搜集于全网社区及人工智能问答等渠道,若最后实在是没能帮助到你,还望见谅!并非所有的解答都能解决每个人的问题,在此希望屏幕前的你能够给予宝贵的理解,而不是立刻指责或者抱怨!如果你有更优解,那建议你出教程写方案,一同学习!共同进步。ok,以上就是我这期的Bug修复内容啦,如果还想查找更多解决方案,你可以看看我专门收集Bug及提供解决方案的专栏。

**My Coding Family** 1124

物联网中常用的方法,16进制二进制之间的转换

由于最近公司做的是关于物联网的项目,所以经常用到进制转换的功能,所以自己写了一些并且收集了一些方法,供大家使用 import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /*** * 字节和16进制转换类 * * @author Administrator * */ public class ByteUtils { /** * byte[] 转为16进制St...

飞熊的博客 780

MEID/ESN序列号转换与验证工具实战应用

移动设备识别码(MEID)和电子序列号(ESN)是通信系统中用于唯一标识终端设备的核心身份编码。ESN起源于早期CDMA网络,采用32位二进制格式,随着设备数量激增,地址资源趋于枯竭且安全性不足。为应对该瓶颈,国际电信联盟推出14或16位十六进制的MEID,扩展了编码空间并增强防伪能力。MEID不仅兼容原有ESN体系,还支持哈希派生机制生成ESN-H,实现向后兼容。二者在设备入网认证、运营商服务绑定及设备生命周期管理中发挥关键作用,掌握其原理是开发高效转换校验工具的前提。

weixin_32389853的博客 1211

物联网设备,采用tcp通讯,基于netty框架十六进制报文封装

基于Netty通讯设备,十六进制报文封装一、背景二、步骤1.引入Netty架包2.消息内容实体类2.1 ProtocolBody2.2 MsgTypeHandleBean2.3 ProtocolField2.4 Other3.消息解析类3.1 BytesToJsonParse3.2 JsonToBytesParse3.3 IMessageParse3.4 BaseByteTransferHandler3.5 ICheckTypeParse4.终端设备与平台交互4.1 SendMsgServer4.2 Sen

qq_29648139的博客 3462

从‘最长白列’到‘八邻域’:智能车图像巡线算法怎么选?我的踩坑经验分享

本文深入探讨了全国大学生智能汽车竞赛中图像巡线算法的选型与优化,对比了最长白列法、八邻域算法等五种主流方法的性能与适用场景。通过实战数据和代码示例,分析了各算法在直道、弯道及特殊赛道元素中的表现,并提供了内存优化、参数调整等实用技巧,帮助参赛团队提升智能车的巡线精度与效率。

weixin_30374009的博客 638

【HAL库-STM】智能温控按键小风扇【胎教级教学】

硬件设备:DHT11,0.96寸oled屏,二/三/四线风扇(不挑),面包板 、f10的精英板等等。当人在的风扇面前时可以自行控制风扇,不在面前时又想开风扇就让他温控自行开启,(在这里有一个想法就是加上蓝牙和wifi控制的功能能够远程遥控,这个如果做的再全一点就要自主研发是一个多功能app,这里没有做。针对这个dht11,我一开始是卡在了这个check函数里面,一直是我给完dht11低电平和高电平后,dht11不回复我低电平和高电平,这个不是我的问题,当时代码是没毛病的,这个点一直卡着我。吐血五天实现小成品

weixin_52451652的博客 1740

使用jmeter做物联网设备十六进制数据的解析接口测试

物联网的硬件设备一般使用的是TCP链接,发送的是16进制数据,但我们在使用设备的后台管理软件时需要看到的是十进制的数据,便于用户观察和统计分析。所以后台开发人员一般会根据硬件的通信协议专门写解析程序或插件对设备发来的十六进制数据进行解析,将解析后的设备数据通过http协议上传至web端的设备后台管理软件。 接下来针对这一过程,进行接口测试的脚本编写 解析数据成功与否是要在相应的接口下运行后的查看结果树里看响应数据是否正确,若响应数据中有新的数据生成,则解析成功。 一、使用jmeter模拟硬件设备发送十

m0_46443922的博客 7624

uniapp:K线图,支持H5,APP

K线,1分钟搞定。备注详细,无需理解,直接复制即可。

sunluyi的博客 4576

转战物联网·基础篇04-不可不知的进制关系与数据传输的本质

  说起进制,大家都能想到二进制、10进制、16进制、8进制等等,但是在互联网应用开发中,却很少用到这些换算。在物联网短指令应用中,却十分常见。   无论是互联网应用还是物联网应用,在网络传输层传送的其实都是二进制数据。因为现代通信设备对信号处理都是用的数字电路,数字电路的输入输出只有两种状态,那就是高电平或低电平,也就是对应二进制数据的1和0。按照一定的时序和时钟基准,就可以代表了不同的信息。理...

IT技术实战 1654

告别TI官网迷路!手把手教你用C2000Ware为TMS320F28027搭建Proteus仿真工程模板

本文详细指导如何使用C2000Ware为TMS320F28027搭建Proteus仿真工程模板,帮助DSP开发者快速上手。从资源获取、工程目录设计到关键文件配置,再到CCS与Proteus的联调技巧,全面解析仿真工程搭建的每个步骤,特别适合初学者和工程师参考。

weixin_42715608的博客 473

MCU工程迁移实战:从STM32到MSPM0L1306的完整指南

在嵌入式系统开发中,MCU工程迁移是开发者常面临的核心挑战,涉及从旧平台向新芯片的完整适配。其原理在于不同MCU在硬件架构、外设寄存器映射、时钟树及开发工具链上存在差异,迁移的本质是将应用逻辑与底层硬件实现解耦。这一过程的技术价值在于提升代码复用性、降低硬件切换成本,并确保产品能快速响应供应链或技术栈变化。典型应用场景包括产品升级换代、芯片缺货替代以及技术生态统一。本文以TI MSPM0L1306为例,详解如何通过对比清单分析、DriverLib API替换及分步调试,高效完成从STM32等平台到Arm C

weixin_27625589的博客 330

TCP/IP协议详解

概述: OSI七层模型各自作用 应用层 为应用程序提供服务并规定应用程序中通信的相关细节。包括文件传输、电子邮件、远程登录等协议。 表示层 将应用处理的信息转换为适合网络传输的格式,或将来自下一层的数据转换为上层能够处理的格式。因此它主要负责数据格式的转换。 会话层 负责建立和断开通信连接(数据流动的逻辑通路),以及数据的分割等数据传输相关的管理。 传输层 起着可靠传输的作用。只在通信双方节点上进行处理,而无需在路由器上处理。会话层负责决定建立连接和断开连接的时机,而传输层进行实际的建立和断开处理

weixin_38858749的博客 5259

Springboot信息泄露以及heapdump的利用

努力是为了不平庸~安全有些时候是枯燥的,这一次,让我们先人一步,趣学渗透!

LiBai'S BLOG 3万+

RS232/RS485转4G DTU 上传基于Modbus协议的温湿度传感器数据到远程TCP服务器

DTU RS485 传感器的485线 DTU RS232 USB转RS232转接器 DTU 电源(耳机孔电源) DC 12V 外接电源 传感器电源线 DC 12V 外接电源读取温湿度数据,4个字节,前2个表示温度,后2个表示湿度,拿[1,27,3,6]举例。 [1,27] = 0x011B = 0d283 ,除10等于 28.3℃ [3,6] = 0x0306 = 0d777,除10等于 77.7 RH.....................

追寻上飞的博客 9168

TI Sitara PRU可编程实时单元:工业自动化中的硬实时协处理器解析

在嵌入式系统与工业自动化领域,实时性和确定性是核心需求。实时性指系统对外部事件做出响应的可预测时间,确定性则要求响应时间严格一致,不受其他任务干扰。其技术原理通常通过专用硬件或实时操作系统实现,例如采用独立于主CPU的协处理器来处理高精度时序任务。这种设计的技术价值在于,它能将主CPU从高实时性要求的任务中解放出来,专注于复杂业务逻辑,同时确保关键IO操作达到纳秒级延迟和极低抖动。应用场景广泛覆盖伺服电机控制、工业通信协议加速和多接口扩展等。本文聚焦的TI Sitara系列PRU(可编程实时单元),正是此类

weixin_42526068的博客 284

5G NR LDPC码(2)—— 从基图到速率匹配:解码5G高速数据信道的标准化设计

本文深入解析了5G NR LDPC码的标准化设计流程。从作为核心骨架的基图(BG1/BG2)出发,详细阐述了其如何通过扩展因子Z灵活生成实际校验矩阵,并协同传输块大小计算与分段策略。文章重点剖析了基于循环缓存和冗余版本的速率匹配机制,以及其如何高效支撑增量冗余混合自动重传请求,从而确保5G高速数据信道在复杂环境下的可靠与高效传输。

weixin_29206669的博客 272

[专业课笔记] 第七章 8951串行口

[专业课笔记] 第七章 8951串行口正文基本知识数据通信并行通信串行通信串行口及其应用8951之间的点对点异步通信8951和pc的机间通信无线单片机及其点到多点通信RFID技术和物联网的应用 正文 基本知识 数据通信 本机的CPU到其他设备中间常常会有信息交换, 而本机和其他计算机之间常常也会进行信息的交换 通信的方式有两种: 并行通信 串行通信 往往通过数据传送距离来判断选择哪一种方式 对PC而言, 30m是一个分水岭, 小于30m, PC间往往采用并行通信, 反之, 就使用串行通信 8951这两种

CJL_asLong72的博客 1589

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

高低位转换

高低位转换就是高位数据和低位数据互换。把0x1122的高低位转换之后是0x2211,0x1223344高低位转换之后是0x33441122。比如数据0x11223344,也就是数字287454020,其中0x1122是高位,0x3344是低位。比如数据0x1122,也就是数字4386,其中0x11是高位,0x22是低位。代码实现的话就是位运算,如下。

忆璇的博客 3404

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

设备采集的二进制数据如何在 IoT 物联网平台云端实现解析?

往期推荐☞中国云计算第一股关停 IoT云服务☞国内 IoT 物联网平台终局的思考☞2022年IoT平台趋势:私有化部署☞5个值得分享的物联网创业失败教训☞国内 4 大IoT物联网平台选型对比☞云厂商的 [IoT物联网平台] 不香了吗?...

321

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

java字符串转字节

但是很多时候时不推荐这样处理的,因为直接传输字节往往体积更小,更方便解析。而且一般也有现成的工具框架处理, 比如 magicByte之类的。可以直接将字节流转换为对象。一般来说,字符串转字节是想把二进制 格式为16进制进行显示。这样就可以调用tohex方法获取字节了。其实很少的时候要用到这个的,但是在物联网开发中。会涉及到,因为第三方一般是单片机,由C或者C++开发。一般进行通讯时使用TCP或者UDP,更接近于底层。而这些开发就需要经常把对象转字节,或者字节转对象。或者干脆传字符串进行解析处理。

jioulongzi的专栏 1514

位运算场景六高低位交换

1 描述 给定一个 16 位的无符号整数,将其高 8 位与低 8 位进行交换,求出交换后的值,如: 10 的二进制表示: 00000000 00001010 将其高8位与低8位进行交换,得到一个新的二进制数: 0000101000000000 其十进制为2560 从上面移位操作我们可以知道,只要将无符号数 a>>8 即可得到其高 8 位移到低 8 位,高位补 0;将 a<<8 即可将 低 8 位移到高 8 位,低 8 位补 0,然后将 a>>8 和 a<..

calvins的专栏 1766

基于阿里云物联网平台的设备之间传输十六进制数据

基于阿里云物联网平台的设备之间传输十六进制数据

qq_49688494的博客 4227

非标HEX(16进制)报文如何接入Modbus物联网平台?

下面以一款 某厂家 七合一空气质量 私有协议举例报文如下:查询报文:1A 11 22 33 44 86 86 86 0F (XX XX XX XX XX替换成是七合一传感器实际地址)返回报文:1A 11 22 33 44 00 01 01 00 02 01 00 03 01 00 04 01 00 05 01 00 06 01 00 07 01 0F返回解释:五位地址后,每3个字节为一组,通过位置判断是具体哪个环境参数下面我们根据厂家提供的协议进行配置:设备管理→协议管理→添加协议根据下文的说明,我们可以得

qq_20363995的博客 1437

物联网报文为何喜欢用十六进制

例如,当你查看一个寄存器的内容或者传感器发送的一个状态报告时,十六进制提供了一种简单的方式来展示这个值,同时保留了与原始二进制数据的直接对应关系。:十六进制系统是一种基数为16的数制,它使用0-9和A-F来表示数值。综上所述,十六进制作为一种中间表示形式,在物联网领域内被广泛采用,因为它能够在保持数据完整性的前提下,提高人类对数据的理解速度,并简化跨系统的互操作性。某些情况下,将敏感信息编码成十六进制字符串可以帮助避免直接暴露明文数据,尽管这不是一种加密手段,但它确实增加了非预期接收者直接解读数据的难度。

qq_44805265的博客 368

16进制发送 java,使用Java的Socket长连接实现发送和接收16进制数据

做个笔记,在接收16进制数据的时候乱码了,原因是没有转byte[]发送。既然是长连接就免不了心跳检测,这里使用了一种比较简单的做法:服务端对当前线程计时,如果超过某个时长没有收到任何数据就关闭该线程对应的Socket。代码复制粘贴即可运行。发送时:将16进制的String转byte[]接收时:将读取到的byte[]转为16进制的String运行结果 客户端import java.io.*;impo...

weixin_28706423的博客 3703
上一篇: 关于物联网总结
下一篇: 关于数据库依赖的使用
Little_Code
博客等级 码龄10年 62粉丝 77原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值