我目前正在从文件中读取邮件并处理一些标题信息。非ASCII字符根据RFC2047在quoted-printable order Base64中编码,因此文件不包含非ASCII字符。如果文件是用UTF-8,Win-1252或ISO-8859- *字符编码之一编码的,那么我不会遇到问题,因为ASCII嵌入在所有这些字符集的同一个地方(所以{{ 1}}在所有这些字符集中都是0x41
。
但是,如果文件是使用不以这种方式嵌入ASCII的编码进行编码的呢?这样的编码是否存在?如果是这样,是否有可靠的方法来检测它们?
答案 0 :(得分:1)
根据Charset-detector非常有趣的文章,有this个Mozilla。它可以检测到大量不同的编码。我之前使用的GitHub上还有一个可以使用C#的端口。结果证明是非常可靠的。但是,当然,当文本只包含ASCII字符时,它无法区分以相同方式编码ASCII的不同编码。但是,应该使用此库正确检测以不同方式编码ASCII的任何编码。