c# - 字节数组中的 Unicode 加密文本似乎包含无效字符

标签 c# encryption unicode character-encoding textview

我的加密应用程序(用 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/

相关文章:

Python正则表达式: pattern with re. ASCII仍然可以匹配unicode字符?

Perl LWP::UserAgent 错误处理 UTF-8 响应

python - 检查字符串是否在数组中

c# - 在 MVC3 中绑定(bind)嵌套集合

c# - DateTime.ToString 从所有格式到 dd/MM/YYYY?

c# - Entity Framework Code First Foreign Key 添加索引也是如此

encryption - 自制密码学

c++ - 在 OpenSSL 上使用 Crypto++ 生成的 RSA key

c# - 关于ManualResetEvent usage c#的使用?

ios - 使用 AES256CBC 库解密不会返回相同的值?