代码之家  ›  专栏  ›  技术社区  ›  sharkin

C/.NET-将字符代码转换为等效字符的方法

  •  1
  • sharkin  · 技术社区  · 15 年前

    在我的应用程序中提取了一段文本后,我可能会得到这样的字符串:

    "More kitchen supplies for the people"
    

    在纯文本中是:

    "More kitchen supplies for the people"
    

    .NET中是否有可用于将字符串“处理”为其纯文本等效项的组件/方法?

    我可以假设常规的ASCII文本,没有奇怪的Unicode或奇怪的字母。似乎一般的符号,如“,”,等都是作为字符代码提供的。

    编辑: 我想我应该注意到这是关于.NET for Windows桌面开发的。表面上,有一些方法只对ASP.NET执行此操作,我没有意识到像这样的简单操作可能仅限于特定的.NET平台。

    2 回复  |  直到 13 年前
        1
  •  8
  •   x0n    15 年前

    system.web.httputility.htmldecode方法可以处理此问题:

    (PowerShell v2示例)

    ps> add-type -an system.web
    ps> [system.web.httputility]::HtmlDecode(""")
    "
    ps>
    

    希望这有帮助,

    -奥辛

        2
  •  0
  •   JaredPar    15 年前

    如果您知道这些代码是ASCII码,则可以使用以下代码来转换每个小&x22号。

    public char Convert(string data) {
      data = data.SubString(1);  // Lose the &
      var num = Int32.Parse(data, NumberStyles.Hex | NumberStyles.AllowHexSpecifier);
      var chars = Encoding.ASCII.GetChars(new byte[] { (byte)num });
      return chars[0];
    }