gpt4 book ai didi

c++ - unsigned char* 值转为十六进制

转载 作者:行者123 更新时间:2023-11-30 21:37:07 25 4
gpt4 key购买 nike

我有一个典型的用例,我需要将无符号字符值转换为十六进制。

例如,

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

第 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 有什么想法吗?对此的任何帮助将不胜感激

最佳答案

像这样怎么样:

unsigned char *pBuffer = (unsigned char *)pvaluefromClient //where valuefromclient is received from a client

int i, j;
unsigned char target[16]
for(i=0;i<32;i+=2)
{
sscanf((char*)&pBuffer[i], "%02X", &j);
target[i/2] = j;
}

关于c++ - unsigned char* 值转为十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37747625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com