字节
文章平均质量分 79
字节作为语言中的基本存储单位,承担着底层二进制和上层存储字节的相互转换的角色。对各种通讯协议一层一层剖析后会发现,数据传输的最底层,还是对字节的操作。本专栏会围绕“字节”相关的多个方面,进行详细介绍,已期望对字节有更清晰、准确的认知。
zjun1001
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
字节-6.串口通讯
本文介绍了串口通讯协议的设计与实现方法。协议包含帧头、站号、命令地址、业务数据和校验码等字段,采用16字节固定长度格式。详细说明了指令计算方法,包括振动器和灯光控制的具体指令示例。针对串口通讯中的粘包和拆包问题,给出了基于QT的发送和接收代码实现方案,其中发送部分包含CRC校验、指令组装等功能,接收部分通过帧头判断和固定长度处理来解析数据。对于不定长数据的情况,建议预留长度字段来实现正确解析。原创 2026-01-20 16:37:51 · 652 阅读 · 0 评论 -
字节-5.base64原理解析
Base64是一种将二进制数据转换为可打印ASCII字符的编码方式,主要用于小文件网络传输、跨语言通信等场景。其原理是将3字节二进制数据分为4个6位组,映射到64个字符表(A-Z,a-z,0-9,+,/)上,编码后数据量增加约33%。文章提供了C++实现的Base64编码解码代码,包括二进制转Base64、Base64解码两种实现方式,适用于处理小文件传输和跨平台数据交换需求。原创 2026-01-18 12:29:02 · 330 阅读 · 0 评论 -
字节-4.char/unsigned char/string对比
本文比较了char、unsigned char和string在处理字节流时的异同:1) char适合存储ASCII文本(-128~127),unsigned char适合单字节16进制数据(0~255),底层存储相同但显示不同;2) char[]可存储二进制数据,但C字符串函数会因\0截断,应使用固定长度读取;3) string封装了char[],解决了\0截断问题,可同时处理文本和二进制数据;4) std::vector<char>也可用于二进制存储,功能类似string。原创 2026-01-16 18:05:16 · 117 阅读 · 0 评论 -
字节-3.字节的深入说明
本文深入探讨了字节和二进制数据在不同编程语言中的处理方式。通过对比char、int等数据类型的字节占用情况,说明相同数据在不同类型变量中存储和解析的差异。文章详细分析了printf和std::cout在打印数值、字符时的不同表现,指出底层二进制存储相同但上层解析方式会影响输出结果。同时阐述了进制转换原理,以单字节、双字节和四字节为例,计算了不同进制下的数值范围,并比较了有符号和无符号类型的区别。这些概念对理解编程语言中数据类型和底层存储的关系具有重要意义。原创 2026-01-16 14:40:01 · 1080 阅读 · 0 评论 -
字节-2.位运算
本文介绍了位运算的基本概念与应用。主要内容包括:1)常用位运算符(与、或、异或、取反、移位)的功能及示例;2)有符号数的原码、反码和补码表示方法,重点说明补码如何将减法转化为加法运算;3)掩码的概念及其在位操作中的应用,包括提取特定位和拼接数据。文章通过具体数值示例(如52和-52的补码转换)演示了位运算原理,并提及了掩码在OpenCV等领域的实际应用。原创 2026-01-14 19:00:43 · 320 阅读 · 0 评论 -
字节-1.基础概念
本文介绍了计算机通信中的基本概念:1)位(bit)是计算机最小存储单位,取值为0或1;2)字节(byte)是编程语言最小单位,1字节=8位;3)字符需编码为字节存储;4)ASCII码将英文字符数字化;5)进制是数的不同表示方式;6)高低字节是数据的固有属性;7)大小端序是字节传输顺序的两种方式;8)数据传输模式分为单工(单向)、半双工(双向交替)和全双工(双向同步)。这些概念构成了计算机数据存储和通信的基础。原创 2026-01-14 18:01:29 · 514 阅读 · 0 评论
分享