在加密中丢失特殊的unicode字符(C#)

在加密中丢失特殊的unicode字符(C#),c#,unicode,gzipstream,C#,Unicode,Gzipstream,我在加密/解密过程中丢失µ字符时遇到问题。我使用Encoding.UTF8.GetBytes将字符串转换为字节,并使用GZipStream.write()将其写入流,然后从那里写入Blob。我注意到µ被转换为2字节,而普通字符仅为一个字节(我知道µ是一个2字节字符) 流是用GZipStream解密的,我使用CopyTo(FileStream)获取新文件的字节。然而,在新的.rtf中,µ显示为èè½。有什么想法吗?我认为双字节字符有问题,但我不太确定。rtf不支持UTF-8,这似乎是正确的。然而,

我在加密/解密过程中丢失µ字符时遇到问题。我使用
Encoding.UTF8.GetBytes
将字符串转换为字节,并使用
GZipStream.write()
将其写入流,然后从那里写入Blob。我注意到µ被转换为2字节,而普通字符仅为一个字节(我知道µ是一个2字节字符)

流是用GZipStream解密的,我使用
CopyTo(FileStream)
获取新文件的字节。然而,在新的.rtf中,µ显示为èè½。有什么想法吗?我认为双字节字符有问题,但我不太确定。

rtf不支持UTF-8,这似乎是正确的。然而,我发现了这个潜在的解决方案,我认为可以修改它以满足我的需要


嗯,µ是一个双字节字符。看起来您在某个地方丢失了编码。RTF文件不使用UTF8编码-我怀疑这不是问题所在!你能发布一个包含你所描述的所有功能的代码片段吗?我不能真正分享代码,但是RTF问题听起来很有希望,我不敢相信我没有研究它!现在来看看如何在.rtf中维护编码。谢谢