在加密中丢失特殊的 unicode 字符 (C#)
Losing special unicode characters in encryption (C#)
我在 encryption/decryption 期间遇到丢失 µ 字符的问题。我使用 Encoding.UTF8.GetBytes
将字符串转换为字节,然后使用 GZipStream.Write()
将其写入流,然后从那里写入 Blob。我注意到 µ 被转换为 2 个字节,而普通字符只是一个字节(我知道 µ 是一个 2 字节的字符)。
流是使用 GZipStream 解密的,我使用 CopyTo(FileStream)
将字节获取到新文件。但是,在新的 .rtf 中,µ 显示为 �。有任何想法吗?我认为双字节字符有问题,但我不太确定。
看起来 Matthew Watson 是正确的,因为 rtf 不支持 UTF-8。但是,我发现了这个潜在的解决方案,我认为可以对其进行修改以满足我的需要。
https://spin.atomicobject.com/2010/08/25/rendering-utf8-characters-in-rich-text-format-with-php/
我在 encryption/decryption 期间遇到丢失 µ 字符的问题。我使用 Encoding.UTF8.GetBytes
将字符串转换为字节,然后使用 GZipStream.Write()
将其写入流,然后从那里写入 Blob。我注意到 µ 被转换为 2 个字节,而普通字符只是一个字节(我知道 µ 是一个 2 字节的字符)。
流是使用 GZipStream 解密的,我使用 CopyTo(FileStream)
将字节获取到新文件。但是,在新的 .rtf 中,µ 显示为 �。有任何想法吗?我认为双字节字符有问题,但我不太确定。
看起来 Matthew Watson 是正确的,因为 rtf 不支持 UTF-8。但是,我发现了这个潜在的解决方案,我认为可以对其进行修改以满足我的需要。
https://spin.atomicobject.com/2010/08/25/rendering-utf8-characters-in-rich-text-format-with-php/