gpt4 book ai didi

c++ - 将二进制字符串转换为 ASCII 字符串 (C++)

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:29:00 26 4
gpt4 key购买 nike

我有一个包含 32 位二进制的字符串变量。将二进制表示的这 4 个字符(8 位是一个字符)转换回它们的 ASCII 字符的最佳方法是什么?

例如,变量包含“01110100011001010111001101110100”,应将其转换回字符串“test”。

最佳答案

如果您使用的是 C++11,另一种选择是:

#include <iostream>
#include <string>
#include <sstream>
#include <bitset>

int main()
{
std::string data = "01110100011001010111001101110100";
std::stringstream sstream(data);
std::string output;
while(sstream.good())
{
std::bitset<8> bits;
sstream >> bits;
char c = char(bits.to_ulong());
output += c;
}

std::cout << output;

return 0;
}

请注意,bitset 是 C++11 的一部分。

另请注意,如果数据格式不正确,则当 sstream.good() 返回 false 时,结果将被静默截断。

关于c++ - 将二进制字符串转换为 ASCII 字符串 (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23344257/

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