【问题标题】:C++ equivalent of python decode('hex')C++ 等价于 python decode('hex')
【发布时间】:2018-09-23 09:39:21
【问题描述】:

在 python 中,如果我有i = '0000000000000000d0ed77c1f924ac20',我可以运行i.decode('hex') 来获取字符串'\x00\x00\x00\x00\x00\x00\x00\x00\xd0\xedw\xc1\xf9$\xac '。我到处搜索 C/C++ 中的等效函数,但无济于事。是否有一些库可以执行此等效功能,或者我如何自己实现它?我知道它将不可打印的字符显示为十六进制,而它只是打印的可打印字符 - 但我需要与 Python 中完全相同的实现,我不确定我是否自己制作了一张表格,我会做对。

【问题讨论】:

标签: c++ hex decode


【解决方案1】:

C++ 中有std::hex 操纵器用于转换十六进制整数。如果你有一个十六进制字符串,那么你可以使用std::stoul(在C++11中引入)。

int main()
{
    std::string s = "0xfffefffe";
    long long int x = std::stoul(s, nullptr, 16);
    std::cout << x << "\n";
    long long input_hex = 0xfffefffe;
    std::cin >> std::hex >> input_hex;
    std::cout << input_hex << std::endl;

    return 0;
}

【讨论】:

    猜你喜欢
    • 2012-05-11
    • 2011-11-25
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-07
    • 1970-01-01
    相关资源
    最近更新 更多