我的加密应用程序(用 C# 和 GTK# 编写并使用 Rijndeal)从 TextView 中获取字符串进行加密,并以字节数组形式返回结果。然后我使用 Encoding.Unicode.GetString() 将其转换为字符串,但我的输出看起来不正确,它似乎包含无效字符: `zźr[� ��ā�֖�Z�_���� W��h�.
我假设 TextView 的编码不是 Unicode,但 ASCII 也不起作用。如何保证输出不是无效的?还是我的方法一开始就是错误的?
我是 C# 新手,一般来说编程经验不是很丰富(我在 PHP 方面有不错的技能,了解一点 JavaScript,但仅此而已),所以如果您能详细说明您的答案,我们将不胜感激。
预先感谢您抽出时间来帮助我。
最佳答案
虽然每个字符串都可以使用 UTF-16 表示为字节序列,但并非每个字节序列都表示 UTF-16 编码的字符串。特别是如果字节序列是加密过程的结果。
您可以使用Convert.ToBase64String Method将字节序列转换为 Base64字符串。
关于c# - 字节数组中的 Unicode 加密文本似乎包含无效字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11174828/