【问题标题】:Best way to decode hex sequence of unicode characters to string将 unicode 字符的十六进制序列解码为字符串的最佳方法
【发布时间】:2010-09-27 03:09:57
【问题描述】:

解码字符串最无代码的方法是什么:

\xD0\xAD\xD0\xBB\xD0\xB5\xD0\xBA\xD1\x82\xD1\x80\xD0\xBE\xD0\xBD\xD0\xBD\xD0\xB0\xD1\x8F

到 C# 中的人类字符串?

这个十六进制字符串包含一些 unicode 符号。

我知道

System.Convert.ToByte(string, fromBase);

但我想知道是否有一些 asp.net 内部使用的内置帮助器。

【问题讨论】:

  • 我希望“大多数免费代码”是指“使用尽可能少的代码”而不是“不使用代码”。 :)
  • 亚当,你是对的。原谅我糟糕的英语,这对我来说是陌生的。谢谢。

标签: c# unicode hex


【解决方案1】:

在此站点中,您不太可能获得无代码方式(这是关于代码的)。 如果您知道原始编码,则可以解码 十六进制编码的字节数组

猜测编码为 UTF8,解码为 System.Text.UTF8encoding 产生以下 11 个 unicode 字符 西里尔文字符串

西里尔大写字母 E, 西里尔小写字母 EL, 西里尔小写字母 IE, 西里尔小写字母 KA, 西里尔小写字母 TE, 西里尔小写字母 ER, 西里尔小写字母 O, 西里尔小写字母 EN, 西里尔小写字母 EN, 西里尔小写字母 A, 西里尔小写字母 YA,

一旦您弄清楚如何将数据放入Byte[], 上述参考中的示例代码显示了方法:

// fill encodedBytes with original data
Byte[] encodedBytes = new Byte[] {0xD0,0xAD,0xD0,0xBB,0xD0,0xB5}; //...
UTF8Encoding utf8 = new UTF8Encoding();
String decodedString = utf8.GetString(encodedBytes);

【讨论】:

  • 你好,吉梅尔。是的,文字是俄语的。我知道你的方法,只是想知道是否有某种方式看起来像: System.Web.SomeFancyHttpUtil.FromHexUnicodeEscapeSequence(string s); :-)
猜你喜欢
  • 2010-11-21
  • 2014-12-28
  • 2011-04-06
  • 2018-08-21
  • 1970-01-01
  • 2012-07-30
  • 1970-01-01
  • 2018-08-02
相关资源
最近更新 更多