【发布时间】:2017-10-20 14:34:36
【问题描述】:
我在加密/解密期间丢失 µ 字符时遇到问题。我使用Encoding.UTF8.GetBytes 将字符串转换为字节,然后使用GZipStream.Write() 将其写入流,然后从那里写入Blob。我注意到 µ 被转换为 2 个字节,而普通字符只是一个字节(我知道 µ 是一个 2 字节字符)。
流使用 GZipStream 解密,我使用 CopyTo(FileStream) 将字节获取到新文件。但是,在新的 .rtf 中,µ 显示为 �。有任何想法吗?我认为双字节字符有问题,但我不太确定。
【问题讨论】:
-
嗯,µ 是一个两字节字符。看起来您在途中的某个地方丢失了编码。
-
en.wikipedia.org/wiki/Rich_Text_Format#Character_encoding RTF 文件不使用 UTF8 编码 - 我怀疑这不是问题!
-
你能发布一个包含你描述的所有功能的代码sn-p吗?
-
我不能真正分享代码,但 RTF 问题听起来很有希望,我不敢相信我没有调查过!现在来看看如何维护 .rtf 中的编码。谢谢!
标签: c# unicode gzipstream