代码之家  ›  专栏  ›  技术社区  ›  stack programming

如何将损坏的文本恢复为阿拉伯语

  •  0
  • stack programming  · 技术社区  · 2 年前

    文本文件最初是用阿拉伯语写的,然后当我把文件移到外部SSD,然后移到另一个设备时,它变成了胡言乱语。(像这样):

    ---áÇÊÊÓÑÚ ÈÇí ÔÆ
    ---ÇáÎÑæÌ ãä ÇáãÔÇßá ÈÐßÇÁ
    ---ÝßÑ ÈÐßÇÁ
    

    我尽力更改编码,但什么也没发生。

    有办法把它拿回来吗?

    1 回复  |  直到 2 年前
        1
  •  1
  •   Rob Napier    2 年前

    这取决于您的操作系统。这看起来像是最初在CP1256中编码的,然后被解释为Latin-1。在类unix系统上,您可以使用 iconv 要转换它:

    %  echo 'áÇÊÊÓÑÚ ÈÇí ÔÆ' | iconv -t latin1 | iconv -f cp1256
    لاتتسرع باي شئ
    

    这将使用UTF-8(这就是您粘贴在此处的内容)并将其转换为Latin-1。然后,它将其重新解释为CP1256,并将其输出为UTF-8。

    也有可能您的旧系统配置为CP1256,而新系统配置为Latin-1。如果是这种情况,您可能会重新配置您的新系统以读取CP1256。(如何做到这一点完全取决于您的设置,可能不适用于所有系统。)