XOR运算符C ++

Dav*_*unt 2 c++ encryption xor

这里的简单问题。XOR运算符(^)有问题。我可以对整数进行XOR运算并得到正确的结果;但是,对两个字符进行XOR运算时,不会返回任何内容:

int main() {
    char a = 'a';
    char b = 'b';
    char c;

    c = a^b;
    cout << c << endl;
}
Run Code Online (Sandbox Code Playgroud)

没发生什么事。无输出。我在这里做错了。我正在尝试使用它对给定密钥对字符串进行XOR加密,但是此操作存在问题。我想我可以获取ASCII值并将其转换为相应的char,但是此工具将用于加密文件和纯文本,因此我不惜一切代价避免这种情况。

Nik*_*sov 5

'a' ^ 'b'0x61 ^ 0x62)的结果中3,这是一个不可打印的字符ASCII ETX,因此没有打印输出。