假设我有字符串
string str = "this is a string";
和一个十六进制值
int value = 0xbb;
我将如何在 C++ 中对字符串与十六进制值执行按字节异或?
只需迭代字符串并对每个字符进行异或:
for (size_t i = 0; i < str.size(); ++i)
str[i] ^= 0xbb;
Run Code Online (Sandbox Code Playgroud)
或者在 C++11 及更高版本中可能更惯用:
for (char &c : str)
c ^= 0xbb;
Run Code Online (Sandbox Code Playgroud)
另请参阅这个问题。