用string存取二进制数据【转】
时间: 2024-03-22 16:39:46 浏览: 49
DELPHI的CLOB和BLOB存取处理.zip_DELPHI的CLOB和BLOB存取处理_hallzgz
可以使用C++中的bitset类来存取二进制数据,它提供了一种方便的方式来表示和操作二进制数据。但是如果你必须使用string来存储二进制数据,可以将每个二进制位转换为字符 '0' 或 '1',并将它们连接成一个字符串。例如,以下代码将一个8位的二进制数转换为字符串:
```
unsigned char binary = 0b10011010; // 二进制数 10011010
std::string binary_str;
for (int i = 7; i >= 0; --i) {
char bit = ((binary >> i) & 1) ? '1' : '0';
binary_str.push_back(bit);
}
```
在上面的代码中,我们从最高位开始,逐位将二进制数转换为字符,并将它们添加到字符串中。我们使用右移运算符和按位与运算符来获取每个位的值。你可以使用类似的方法将字符串转换回二进制数据。但是请注意,这种方法可能会占用大量的内存,因为每个二进制位都需要占用一个字符的空间。
阅读全文