可能重复:
How would you convert from ASCII to Hex by character in C?
我喜欢将以ascii代码表示的十六进制值转换为十六进制值表示的数字。
举个例子:
A5
应转换为0xA5
(即165)
但是A5
代表了ASCII
(所以类似于0x4135
)
有什么想法吗? THX!
答案 0 :(得分:2)
使用strtol
。
long x = strtol("A5", 0, 16)
// x is now 165
答案 1 :(得分:2)
如果您有strtol
可用(我相信它在标准库中),它应该像使用16作为基础调用strtol
一样简单。
char *end
val = strtol("A5", &end, 16)
答案 2 :(得分:1)
另一种方法是使用sscanf():
sscanf("A5", "%x", &bar);