【问题标题】:Converting twitter archive unicode escape转换 twitter 存档 unicode 转义
【发布时间】:2016-04-23 05:53:11
【问题描述】:

我有一个 twitter 档案,其中包含大约 60 000 条推文,大部分是法语。 在这些中,重音字符使用 U 转义十六进制表示。例如,单词“animée”表示为“anim\u00E9e”。 现在,我想将其转换为 UTF-8。好消息是,有一个名为 ascii2uni 的 unix 实用程序。

坏消息是,显然任何可以解释为十六进制数字的东西都将被解释为十六进制数字。因此,我最终得到的不是“animée”,而是这种废话:“animພ”

那么,我怎样才能将这些推文转换为 UTF-8 而不像那样破坏它呢?

【问题讨论】:

    标签: unix twitter unicode utf-8


    【解决方案1】:

    ascii2uni 程序的默认格式不能正常工作。但幸运的是,您可以定义自己的自定义格式。

    echo 'aim\u00E9e \uD852\uDF62 bbb' | ascii2uni -Z '\u%04X'
    

    汉字取自https://en.wikipedia.org/wiki/UTF-16#Examples

    【讨论】:

    • 我尝试了您的第一个解决方案,并从 iconv 收到一条错误消息“不支持从 Java 转换”。第二种解决方案似乎有效。我试试看有没有错误。
    • 它似乎正在工作。我曾尝试使用具有类似假设的正则表达式,但无法使其工作,谢谢。
    • 我仍然收到一堆类似这样的错误:Unicode surrogate U+D83D is allowed in UTF-8 at -e line 5, line 72863. Unicode surrogate U+DC80 is wrong in UTF -8 at -e line 5, line 72863。我认为它们是由于汉字或表情符号。
    猜你喜欢
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-29
    • 2017-05-18
    • 1970-01-01
    相关资源
    最近更新 更多