unsigned char转字符串
时间: 2024-12-15 12:22:27 浏览: 4
unsigned char数组转成string 用16进制表示
unsigned char数据类型通常用于存储单字节的数据,比如ASCII字符。如果你想将一个unsigned char数组转换成字符串(通常是UTF-8编码),你可以这样做:
```c++
#include <cstring>
#include <string>
unsigned char utf8Bytes[] = { 65, 97, 122 }; // AaZ 字符的ASCII值
size_t byteCount = sizeof(utf8Bytes) / sizeof(utf8Bytes[0]);
std::string utf8String(byteCount, '\0');
std::copy(utf8Bytes, utf8Bytes + byteCount, utf8String.begin());
// 将ASCII字符转换为实际的字符串
for (size_t i = 0; i < byteCount; ++i) {
if (utf8String[i] >= 0 && utf8String[i] <= 127) {
utf8String[i] = static_cast<char>(utf8String[i]);
}
}
std::cout << "UTF-8 string: " << utf8String << std::endl;
```
这里首先创建了一个空字符串`utf8String`,然后复制了`unsigned char`数组的内容。接着遍历数组,如果是ASCII字符(其值在0-127之间),就直接转换回对应的字符。这样就得到了一个由ASCII字符组成的字符串。
阅读全文