【问题标题】:Character Encodings compatibility with ASCII字符编码与 ASCII 的兼容性
【发布时间】:2016-08-09 12:20:34
【问题描述】:

我目前正在从文件中读取邮件并处理一些标题信息。非 ASCII 字符根据 RFC2047 在带引号的可打印或 Base64 中进行编码,因此文件不包含非 ASCII 字符。如果文件以 UTF-8、Win-1252 或 ISO-8859-* 字符编码之一编码,我不会遇到问题,因为 ASCII 嵌入在所有这些字符集中的相同位置(所以 0x41A 在所有这些字符集中)。

但是,如果文件是使用不以这种方式嵌入 ASCII 的编码进行编码的呢?这样的编码是否存在?如果是这样,是否有可靠的方法来检测它们?

【问题讨论】:

    标签: encoding character-encoding ascii


    【解决方案1】:

    Mozilla 有一篇基于thisCharset-detector 非常有趣的文章。它可以检测大量不同的编码。 GitHub 上还有一个 C# 端口,我以前使用过它。结果证明是相当可靠的。但是当然,当文本只包含 ASCII 字符时,它无法区分以相同方式对 ASCII 进行编码的不同编码。但是任何以不同方式编码 ASCII 的编码都应该被这个库正确检测到。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-14
      • 2019-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-10
      • 2011-05-26
      相关资源
      最近更新 更多