如何从具有十六进制二进制数据的 char* 加载流字符串
how to load a streamstring from a char* which has binary data in hexadecimal represetantion?
我通常使用C语言,但现在我正在使用一个库,C++压缩和解压缩数据很有用。然后我将压缩数据保存在字符数组中。就像:
strg[40] = "400000000200000002000200000000ffffff80";
从那里我需要加载一个字符串变量,其中包含由该数组表示的二进制数据。有人可以帮我吗?
Kerrek的评论是正确的。
std::ostringstream ss;
const char *p = strg;
if (p) while (*p) {
unsigned char x = hex2int(*p) << 4;
if (*++p) x |= hex2int(*p++);
ss << x;
}
但这假设输入流的大端表示。如果输入流实际上表示多字节单词,几乎没有端序表示,则必须更改翻译。
相关文章:
- std::原子加载和存储都需要吗
- 如何加载(或映射)文件部分的最大大小,但适合在Windows上的RAM
- C++ 雷神库 - 使用资源加载器类时出现问题(不命名类型)
- 为什么加载SDF会导致Mobilizer创建闭环错误
- C++atioglxx.pdb未加载错误glBufferData OpenGL
- 如何使用tinyxml2从XML加载父实体和子实体
- 如何在C++中使用pybind11加载一个pickle python列表
- 系统.将数组移交给c#中动态加载的c++DLL时发生AccessViolationException
- 有效地将数据加载到 std::vector 中<char>
- Java:加载带有char **的C DLL,将回调作为参数
- 通过无符号 char 别名进行对象访问,加载和存储时会发生什么?
- 从一个文本文件加载多个 char 和 int 类型的数组
- 将uint32_t与文件C++中加载的 char[] 进行比较
- 如何从具有十六进制二进制数据的 char* 加载流字符串
- 验证 Char[] 中加载的 SSL 证书或 C/C++ 中的内存
- 将系统(char* 命令)的输出加载到变量 c++
- 将 1 和 0 的文件逐行加载到 char** 中
- 如何执行从char*缓冲区加载到内存中的代码
- 用char指针加载文件
- 使用libpng从char数组或QByteArray加载png图像纹理