从十六进制数据中提取十六进制值
extracting hexadecimal value from hexadecimal data
i具有十六进制数据为 x83,它表示它是十六进制的数据。我想获得值83.我有以下步骤。
char *has = "x83";
unsigned long num;
char *endptr;
num = strtoul(has,&endptr,8);
这不是正确的解决方案。让我知道如何通过忽略十六进制代表来获得十六进制价值。
问:
您正在错误解释自己的所拥有的东西。这个:
char *has = "x83";
定义了一个1个字符的长字符串,由8位值0x83(小数为131)组成(一如既往的' '
终端)。
这不是您需要使用strtoul()
转换的东西,它已经在二进制中。
只是做:
const unsigned int num = ((unsigned char *) has)[0];
你完成了。
如果该值确实像字符串中的十六进制一样:
,您将使用strtoul()
char *has = "0x83";
但这是完全不同的情况。
相关文章:
- 如何在openssl-ecc中获取十六进制格式的私钥
- 如何将包含epoch时间的十六进制字符串转换为time_t
- 将字符指针十六进制转换为字符串并保存在文本文件C++中
- 如何将一个ostringstream十六进制字符串字符对转换为单个unit8t等价的二进制值
- 如何在C++中用std::cout正确显示带十六进制的字符串文本
- 通过错误处理,在C++中可靠地获得用户十六进制输入
- 为什么mpfr_printf与十六进制浮点(%a转换说明符)的printf不同
- 在 std::无符号字符的向量处存储 int 的十六进制表示形式
- 指向存储在字符串 c++ 中的十六进制
- 读取文件中所有可能的十六进制 16 字节序列并打印每个序列
- C ++如何使用UTF8十六进制代码打印UTF8符号?
- 如何将字节数组元素替换为修改的十六进制 ASCII 符号?
- 如何在C++中将十六进制字符串转换为文本数据
- 使用 sprintf 将十六进制0xAABBCC转换为字符串"AA:BB:CC"
- 绝对编码器十六进制输入
- 为什么C++总是显示十六进制内存地址,而不仅仅是整数?
- C++17 十六进制浮点文字单精度后缀冲突?
- 从char阵列中提取十六进制数字
- 从十六进制数据中提取十六进制值
- 将十六进制存储在 QBytearray 中,提取它并将其转换为十进制