【发布时间】:2018-01-29 19:40:17
【问题描述】:
我正在寻找一种将十六进制字符转换为 \x90\x0d\x41 等字节的方法,当我使用 printf() 时,会打印二进制数据?
char *hex = "909090904241";
当我需要得到\x90\x90\x90\x90\x42\x42 时,当我打印时,我得到二进制数据。
【问题讨论】:
-
一次循环遍历 2 个字符并以 16 为底调用
strtoul -
“当我需要得到 '\x90\x90\x90\x90\x42\x42' 并且当我打印时我得到二进制数据”需要更具体。请发布显示问题的Minimal, Complete, and Verifiable example。将预期输出和实际输出显示为问题中的文本。
-
为什么期望
x42\x42来自"4241"? -
@chux 我很抱歉.. 我想要 \x42\x41