1、字符串转十六进制
代码实现:
2、十六进制转字符串
代码实现:
或者
效果:十六进制:0x13 0xAA 0x02转为字符串:”13AAA2”
3、字符串转十进制
代码实现:
第一种,如果带负号 这个就是atoi函数的实现:
效果:字符串:”-123” 转为 -123
第二种,如果不带负号:
效果:字符串:”123” 转为 123
第三种:包含转为浮点数:
效果:字符串:”123.456” 先转为 123456,然后除以1000得到123.456
4、十进制转字符串
代码实现:
如果只是单个十进制转字符串,使用sprintf函数就可以了。
如果是十进制数组:
效果:十进制数组13 14转为字符串“1314”
5、u8、u32转换
举个栗子:ASCII码里
这里写图片描述 字符‘A’ , 一个字节8bit ,即u8 十六进制为 0x41 二进制为 0100 0001
而对应的十进制为 65 整型65,4个字节32bit,即u32 十六进制为 0x41 二进制为 0000 0000 0000 0000 0000 0000 0100 0001
将u32数转换成u8数组
注意:这里是字符数组,不是字符串
字符串是以空字符(\0)结尾的char数组
效果:整型 50 转字符数组 {‘\0’,’\0’,’\0’,’2’}
u8数组转u32
void U8ArrayToU32(uint8_t *buf, uint32_t *u32Value)
{
*u32Value = (buf[0]
}
效果:字符数组 {‘\0’,’\0’,’\0’,’2’}转为整型 50
6、大端小端
最后就是大小端问题了。STM32 默认是小端模式的,那么该如何转为大端?
1、转为大端
效果:len为数据类型为 u16(short),比如 0x11 0x22,转为u8(usigned char)数组。
大端为:
小端为:
领取专属 10元无门槛券
私享最新 技术干货