【问题标题】:Converting Unicode char Ids string to unicode text .NET将 Unicode char Ids 字符串转换为 Unicode 文本 .NET
【发布时间】:2019-04-19 20:31:40
【问题描述】:

我正在做一个网络抓取项目,我从抓取工具中获取了一个 json 文件,问题是对于英语以外的任何语言,实际的 unicode char ID 都是写的:

它会存储

פלסטינים

而不是

םויסלפנ

我想要做的是输入一个存储字符 ID + 英文文本 + HTML 实体的字符串,并用适合它的 unicode 字符替换每个 unicode ID/HTML 实体。任何人都知道可以帮助我完成任务的方法吗? 使用 。网 ASP.NET JSON.NET IronWebScraper

-stackoverflow 的一点新意

编辑: 这是代码示例

  using (StreamReader r = new StreamReader(AppDomain.CurrentDomain.BaseDirectory + @"DataBase\net\net.jsonl"))
    {
        string json = r.ReadToEnd();
        List<string> items = JsonConvert.DeserializeObject<List<string>>(json);
        foreach (var str in items)
            Logger.Log(WebUtility.HtmlDecode(str));
    }

【问题讨论】:

  • 嗨,Tomer,为了获得社区的最大响应,习惯上包含一个最小可重现的代码示例,以便人们可以将其剪切并粘贴到他们的编辑器中,运行它,获取你的输出,然后编写一些代码来生成你正在寻找的输出。因此,明确指定您要输入的字符串以及您希望的确切输出是有帮助的,以便受访者可以确保他们提供的代码可以帮助您。如果你这样做,你应该得到很好的回应。谢谢,祝你好运:)

标签: c# asp.net .net unicode web-scraping


【解决方案1】:

这相当简单:只需使用WebUtility.HtmlDecode 方法:

var plainText = WebUtility.HtmlDecode("&#1508;&#1500;&#1505;&#1496;&#1497;&#1504;&#1497;&#1501;");

如果其中有任何常规字符,它们将被单独留下:

var plainText = WebUtility.HtmlDecode("This is a Hebrew character: &#1508;");

这将导致:

这是一个希伯来字符:פ

【讨论】:

    猜你喜欢
    • 2018-09-18
    • 2011-02-03
    • 1970-01-01
    • 1970-01-01
    • 2010-09-16
    • 2021-12-26
    • 2016-11-03
    • 1970-01-01
    相关资源
    最近更新 更多