[!注意]
uint8_t与char都是C语言中用于处理单字节数据的类型,但在语义定义 、取值范围、跨平台兼容性 上也本质区别
uint8_t- 来源于C标准库
<stdint.h> - 是 明确 的无符号8位整数类型,存储内容:纯数值
- 其取值范围是 0~255
- 跨平台完全兼容,所有平台定义一致
- 来源于C标准库
char- C语言的原生类型
- 语义为“字符”(此为默认用途),存储内容:对应的ASCII码值
- 其取值范围不确定,编译器默认可能是
signed或者unsigned - 跨平台不兼容,符号性随编译器变化
[!建议]
char *和uint8_t *它们都指向相同类型的内存 但各自的主要用途却有所区分,人们习惯用char *来处理字符串,而uint8_t *用来处理原始字节数据使用的时候要符合大众规范,能在一定程度上避免不少问题