gpt4 book ai didi

c++ - 如何将一串十六进制值转换为字符串?

转载 作者:IT老高 更新时间:2023-10-28 22:32:03 26 4
gpt4 key购买 nike

假设我有一个类似的字符串:

string hex = "48656c6c6f";

其中每两个字符对应其ASCII的十六进制表示,值,例如:

0x48 0x65 0x6c 0x6c 0x6f = "Hello"

那么我怎样才能从 "48656c6c6f" 得到 "hello" 而无需创建查找 ASCII 表? atoi() 显然在这里不起作用。

最佳答案

int len = hex.length();
std::string newString;
for(int i=0; i< len; i+=2)
{
std::string byte = hex.substr(i,2);
char chr = (char) (int)strtol(byte.c_str(), null, 16);
newString.push_back(chr);
}

关于c++ - 如何将一串十六进制值转换为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3790613/

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