【发布时间】:2010-11-15 12:13:04
【问题描述】:
如何将 Unicode 值转换为其等效字符串?
例如,我有“రమెశ్”,我需要一个接受此 Unicode 值并返回字符串的函数。
我正在查看 System.Text.Encoding.Convert() 函数,但它不包含 Unicode 值;它需要两种编码和一个字节数组。
我基本上有一个字节数组,我需要将其保存在字符串字段中,然后稍后再返回并将字符串首先转换回字节数组。
所以我使用 ByteConverter.GetString(byteArray) 将字节数组保存为字符串,但无法将其恢复为字节数组。
【问题讨论】:
-
你的“Unicode”是什么格式的?
-
好吧,我正在使用 UnicodeEncoding.GetString(byteArray) 方法,它从 byteArray 中返回一个字符串。当我检查字符串时,它有很多看起来很奇怪的符号!
-
首先,停止你正在做的任何事情,阅读Joel's article about Unicode。甚至不要进一步阅读此答案。 现在就去那里!不,不偷看,文章第一! ... OK完成?然后你应该能够自己发现你的错误和正确的答案。如果没有,那么问问自己——那么我的“字符串”(字节数组)是什么编码的?
-
"Unicode" 不是编码。 .NET 中的
UnicodeEncoding应该真正被称为UTF16Encoding- 微软的耻辱。 :P -
哈!谢谢 :) 做 Encoding.Default 工作。我浏览了这篇文章......不过,当我有更多时间时,我会完整阅读。干杯