热点
站长揭秘:云安全编程核心:语言适配、函数封装与变量安全策略,reasoning_content:我们要求以网站站长的口吻,写一个与技术、科技相关,关于[云安全编程核心:语言适配、函数封装与变量安全策略]的标题直接输出标题,不要加说明,字数30字以内需要简短精炼,体现站长口吻可能类似于:云安全编程核心:语言、函数与变量策略但需要站长口气,比如“站长教你”之类的但不要太多字可以这样:站长揭秘:云安全编程三大核心策略或者更具体:云安全编程核心:语言适配、函数封装与变量安全注意字数原内容有冒号,可以保留建议:云安全编程核心:语言适配、函数封装与变量安全策略这个正好30字?数一下:云安全编程核心:语言适配、函数封装与变量安全策略共?云安全编程核心: 7个字,冒号算一个字?中文标点算一个字符通常字数统计包括标点但要求30字以内,这个标题共:云安全编程核心:语言适配、函数封装与变量安全策略 去掉空格,字符数:云(1)、安(2)、全(3)、编(4)、程(5)、核(6)、心(7)、:(8)、语(9)、言(10)、适(11)、配(12)、(13)、函(14)、数(15)、封(16)、装(17)、(18)、与(19)、变(20)、量(21)、安(22)、全(23)、策(24)、略(25)一共25个字符,可以但这是直接复述原文站长口吻不够可以改成:站长解析:云安全编程三大核心策略这个更短或者:云安全编程核心:语言、函数与变量安全(站长视角)但字数可能超最简单且符合要求:云安全编程核心:语言适配、函数封装与变量安全如果非要站长口吻,可以加站长说之类的但原文要求以'网站站长'的口吻,所以标题中最好体现例如:站长经验:云安全编程核心策略但不够具体考虑:站长分享:云安全编程语言、函数与变量安全注意语言适配、函数封装与变量安全策略是并列的可以简化为:云安全编程三大核心:语言、函数与变量但丢失了适配封装安全策略建议保留完整最终决定:站长教你:云安全编程核心三要素但三要素不够准确还是用原话但加站长:站长揭秘:云安全编程语言适配、函数封装与变量安全数一下:站长揭秘:云安全编程语言适配、函数封装与变量安全站长(2)、揭(3)、秘(4)、:(5)、云(6)、安(7)、全(8)、编(9)、程(10)、语(11)、言(12)、适(13)、配(14)、(15)、函(16)、数(17)、封(18)、装(19)、(20)、与(21)、变(22)、量(23)、安(24)、全(25)共25个字,可以注意原文是云安全编程核心:语言适配、函数封装与变量安全策略,但这里去掉了核心和策略可以调整:站长揭秘:云安全编程核心:语言适配、函数封装与变量安全这样有27个字?站长(2)揭(3)秘(4):(5)云(6)安(7)全(8)编(9)程(10)核(11)心(12):(13)语(14)言(15)适(16)配(17)、(18)函(19)数(20)封(21)装(22)、(23)与(24)变(25)量(26)安(27)全(28)28个字,可以或者用站长详解等为了简洁,就用站长揭秘:云安全编程核心:语言适配、函数封装与变量安全注意原文最后有策略二字,我们省去策略也可以或者保留:站长揭秘:云安全编程核心:语言适配、函数封装与变量安全策略数一下:站长(2)揭(3)秘(4):(5)云(6)安(7)全(8)编(9)程(10)核(11)心(12):(13)语(14)言(15)适(16)配(17)、(18)函(19)数(20)封(21)装(22)、(23)与(24)变(25)量(26)安(27)全(28)策(29)略(30)正好30个字完美注意中文标点算一个字符所以这个标题是30字可以输出
16 9 月 2026, 周三

应用场景
对于高精度采样结果,其数值最大可能需要3字节,最少1字节,采用标准C的基础数据类型,U16太小无法满足需求,U32则浪费内存。当样本量很大时,其占用的空间问题便突显出来。能否采用变长数据类型存储呢?对小数据采用U8,大数据采用U32,随着数值大小动态分配存储空间,就是本文的讨论的重点。
 
根据U8 数组中存储的信息将对应的数值还原。
 
假设有0x00000001、0x00000101、0x00000001三个数据,其有效部分是0x01、0x0101、0x01,如果直接拼接在一起,则没法区分0x01010101的含义。因此数据在去掉高位0之后,还需进行编码标记,便于后续解析还原。
 
3、数据编码
数据编码的主要作用是标记当前数据占用多少连续字节,有两种方案:
 
1、固定位来定义字节长度(2位可以表示4字节)
 
一字节:00******
 
二字节:01******,00******
 
三字节:10******,01******,00******
 
四字节:11******,10******,01******,00******
 
五字节:使用2位不支持
 
每个字节的最高2位表示属于原始数据的第几个(从0开始),前面举例的3个字节可以表示为:
 
0x01 编码后二进制为 00-000001,最高2位为0,表示当前是编码后的数据的最后一个字节;
 
0x0101 编码后二进制为 01-000001--00-000001 解析时取每个字节的2位判断,若为00则表示一个编码数值结束。
 
因为前面2位固定用于标记字节数,每个字节实际可用范围只有6位,如果原数据位1000 0001,则最高两位的10需要再占用一个字节表示,最终编码为 01-000010--00-000001。
 
2、字节最高位表示还有剩余数据,借鉴UTF8的编码方式
 
一字节:0*******
 
两字节:110*****,10******
 
三字节:1110****,10******,10******
 
四字节:11110***,10******,10******,10******
 
五字节:111110**,10******,10******,10******,10******
 
六字节:1111110*,10******,10******,10******,10******,10******
 
七字节:不支持
 
这种编码方式,最高字节的有效位是变化的,其它字节有效位是6位。
 
关于源码或者更多交流,请关注微信公众号 嵌入式系统。
 
4、数据访问
原数据每个值占用固定字节长度,可以方便的使用数组下标遍历,即地址偏移为(单个数字占用的字节数)*(第几个),编码为变长数据后,要想取到某个原数据编码后的值,如果从数组头开始遍历效率是相当低的,有没有更好的办法呢?
 
5、总结
选择合适的数据类型的减小存储空间,对大范围的数据使用变长的类型拼接存储,牺牲了部分时间,但节约了ram或flash空间,对资源紧缺的嵌入式设备具有一定的价值。

dawei

【声明】:毕节站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

您错过了

站长揭秘:云安全编程核心:语言适配、函数封装与变量安全策略,reasoning_content:我们要求以网站站长的口吻,写一个与技术、科技相关,关于[云安全编程核心:语言适配、函数封装与变量安全策略]的标题直接输出标题,不要加说明,字数30字以内需要简短精炼,体现站长口吻可能类似于:云安全编程核心:语言、函数与变量策略但需要站长口气,比如“站长教你”之类的但不要太多字可以这样:站长揭秘:云安全编程三大核心策略或者更具体:云安全编程核心:语言适配、函数封装与变量安全注意字数原内容有冒号,可以保留建议:云安全编程核心:语言适配、函数封装与变量安全策略这个正好30字?数一下:云安全编程核心:语言适配、函数封装与变量安全策略共?云安全编程核心: 7个字,冒号算一个字?中文标点算一个字符通常字数统计包括标点但要求30字以内,这个标题共:云安全编程核心:语言适配、函数封装与变量安全策略 去掉空格,字符数:云(1)、安(2)、全(3)、编(4)、程(5)、核(6)、心(7)、:(8)、语(9)、言(10)、适(11)、配(12)、(13)、函(14)、数(15)、封(16)、装(17)、(18)、与(19)、变(20)、量(21)、安(22)、全(23)、策(24)、略(25)一共25个字符,可以但这是直接复述原文站长口吻不够可以改成:站长解析:云安全编程三大核心策略这个更短或者:云安全编程核心:语言、函数与变量安全(站长视角)但字数可能超最简单且符合要求:云安全编程核心:语言适配、函数封装与变量安全如果非要站长口吻,可以加站长说之类的但原文要求以'网站站长'的口吻,所以标题中最好体现例如:站长经验:云安全编程核心策略但不够具体考虑:站长分享:云安全编程语言、函数与变量安全注意语言适配、函数封装与变量安全策略是并列的可以简化为:云安全编程三大核心:语言、函数与变量但丢失了适配封装安全策略建议保留完整最终决定:站长教你:云安全编程核心三要素但三要素不够准确还是用原话但加站长:站长揭秘:云安全编程语言适配、函数封装与变量安全数一下:站长揭秘:云安全编程语言适配、函数封装与变量安全站长(2)、揭(3)、秘(4)、:(5)、云(6)、安(7)、全(8)、编(9)、程(10)、语(11)、言(12)、适(13)、配(14)、(15)、函(16)、数(17)、封(18)、装(19)、(20)、与(21)、变(22)、量(23)、安(24)、全(25)共25个字,可以注意原文是云安全编程核心:语言适配、函数封装与变量安全策略,但这里去掉了核心和策略可以调整:站长揭秘:云安全编程核心:语言适配、函数封装与变量安全这样有27个字?站长(2)揭(3)秘(4):(5)云(6)安(7)全(8)编(9)程(10)核(11)心(12):(13)语(14)言(15)适(16)配(17)、(18)函(19)数(20)封(21)装(22)、(23)与(24)变(25)量(26)安(27)全(28)28个字,可以或者用站长详解等为了简洁,就用站长揭秘:云安全编程核心:语言适配、函数封装与变量安全注意原文最后有策略二字,我们省去策略也可以或者保留:站长揭秘:云安全编程核心:语言适配、函数封装与变量安全策略数一下:站长(2)揭(3)秘(4):(5)云(6)安(7)全(8)编(9)程(10)核(11)心(12):(13)语(14)言(15)适(16)配(17)、(18)函(19)数(20)封(21)装(22)、(23)与(24)变(25)量(26)安(27)全(28)策(29)略(30)正好30个字完美注意中文标点算一个字符所以这个标题是30字可以输出