将 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 数组?的主要内容,如果未能解决你的问题,请参考以下文章

字符串怎么转换为unsigned char数组

使用联合将 char 数组读取为 unsigned long int

刚开始学C++,想请教高手们一下,将CString类型字符串转换为unsigned char型字符数组的转化方式

在 C++ 中将 unsigned char (byte) 数组转换为 unsigned short

怎么把unsigned char数组转化为字符串类型

C - unsigned int 到 unsigned char 数组转换