将字符串转换为二进制的最快方法?

Der*_*erp 16 c++ string binary type-conversion

我想使用字符串类将字符串转换为二进制.按角色完成这个角色的快捷方法是什么?环?或者是否有一些功能会转换为我?1和0的二进制.

一个字符串是:

#include <string>
using namespace std;
int main(){
  myString = "Hello World";
}
Run Code Online (Sandbox Code Playgroud)

Jes*_*ood 37

使用std::bitset会工作:

#include <string>
#include <bitset>
#include <iostream>
using namespace std;
int main(){
  string myString = "Hello World";
  for (std::size_t i = 0; i < myString.size(); ++i)
  {
      cout << bitset<8>(myString.c_str()[i]) << endl;
  }
}
Run Code Online (Sandbox Code Playgroud)

输出:

01001000
01100101
01101100
01101100
01101111
00100000
01010111
01101111
01110010
01101100
01100100
Run Code Online (Sandbox Code Playgroud)

  • 或者只是`bitset <8>(myString [i])` (14认同)
  • 所以bitset&lt;8&gt;会给你base-256,如果你想说base-255或base-257只需添加-1和+1? (2认同)