【发布时间】:2016-06-10 11:53:24
【问题描述】:
我有一个典型的用例,我需要将 unsigned char 值转换为十六进制。
例如,
unsigned char *pBuffer = (unsigned char *)pvaluefromClient //where pvaluefromclient is received from a client
pBuffer的长度为32字节,其值如下,
(gdb) p pBuffer
$5 = (unsigned char *) 0x7fd4b82cead0 "EBA5F7304554DCC3702E06182AB1D487"
(gdb) n
STEP 1:我需要将这个 pBuffer 值拆分如下,
{EB,A5,F7,30,45,54,DC,C3,70,2E,06,18,2A,B1,D4,87 }
第2步:我需要将上面的拆分值转换为十进制,如下所示,
const unsigned char pConvertedBuffer[16] = {
235,165,247,48,69,84,220,195,112,46,6,24,42,177,212,135
};
关于如何实现 STEP1 和 STEP2 的任何想法?对此的任何帮助将不胜感激
【问题讨论】:
-
不需要第 2 步。你可以改用
{ 0xEB, 0xA5, ...}。 -
有什么问题?
-
谢谢,您知道如何实现 STEP1 吗?