将 unsigned char 数组转换为 uint8_t 数组?
Posted
技术标签:
【中文标题】将 unsigned char 数组转换为 uint8_t 数组?【英文标题】:Convert unsigned char array into uint8_t array? 【发布时间】:2017-07-28 10:57:42 【问题描述】:我需要将 unsigned char 数组转换为 unit8_t 数组,也许有人知道该怎么做?
我试着在网上找资料,可惜没有成功。
:)
【问题讨论】:
没有什么可以转换的。 如果uint8_t
存在,与unsigned char
相同。或者反过来:如果unsigned char
超过8 位,则没有uint8_t
可用。
【参考方案1】:
那么,你试过uint8_t* myuint8array = (uint8_t*)myuchararray;
吗?
【讨论】:
【参考方案2】:你有
unsigned char arr[size];
你想要
uint8_t arr[size];
uint8_t 简单定义为
typedef unsigned char uint8_t;
:-)
【讨论】:
或者根本没有定义,以防char
超过8位。
一个字符何时可能超过 8 位?
@Robert - 例如可以是 9 位 on a 36-bit computer。
字符 != char
。然后,答案是“超过 8 位时”。是的,存在这样的平台,但出于显而易见的原因,它们无法提供uint8_t
。
这对我来说是个完整的消息,我以前从未听说过。谢谢,将立即阅读。 :-)以上是关于将 unsigned char 数组转换为 uint8_t 数组?的主要内容,如果未能解决你的问题,请参考以下文章
使用联合将 char 数组读取为 unsigned long int
刚开始学C++,想请教高手们一下,将CString类型字符串转换为unsigned char型字符数组的转化方式