将UTF-8转换为ASCII

时间:2019-06-17 19:20:27

标签: utf-8

正确的答案是你做不到。但是,我正在寻找一个有用的答案,而不是正确的答案。

垃圾邮件发送者将(甚至正确拼写的)垃圾邮件ASCII关键字转换为不同的非ASCII UTF-8字符,典型的(西方)人类很容易(并且错误地)误认为原始的7位ASCII垃圾邮件关键字。

我想要的是一种转换工具,该工具将执行与垃圾邮件制造者相反的操作,将UTF-8字符串错误地转换回类似的7位ASCII序列,看起来像垃圾邮件制造者的垃圾美国英语单词是我要读的是什么(即使就学上而言,UTF-8并非来自ASCII子集)。

我正在寻找可以在电子邮件的主题行上使用的东西。然后,我可以杀死网页或电子邮件中的其余部分,然后再花5分钟通过110波特的高速声学链接下载它。

平台是通用Linux系统(例如运行Raspbian或Ubuntu的Raspberry Pi)上通常可用的任何语言。

2 个答案:

答案 0 :(得分:1)

烦人的答案仍然是,你做不到。

基本思想是正确的,但是人类喜欢使生活变得复杂,所以some letters have a significant variation in shape between languages

这意味着对于给定的字符序列,不一定清楚该序列应该类似于哪个美国英语单词。

此外,即使您可以可靠地减少字符序列,英语也与许多欧洲语言(它们都使用自己的特有字母变体)密切相关。

例如,减少“HøstFæst!” “快速托管”! (这可能会引起您的误解)会导致您错误地标记来自明尼苏达州表弟的,略带拼音的挪威电子邮件,从而邀请您以感恩节的身份成为托管服务提供商垃圾邮件。

当然,调用这些方法之一就是过河取水:

只需考虑(all-ASClI)主题行“ PilIs!PiIls!PiIIs!”。

答案 1 :(得分:-1)

这个问题让我有些困惑,因为正如您所指出的,ASCII是UTF-8的子集,所以所有ASCII文件都已经采用UTF-8编码。

如果您要将仅包含ASCII字符的文件发送给另一方,但另一方却抱怨说它们不是“ UTF-8编码”的,那么我猜它们是指ASCII文件没有字节顺序标记,明确指示内容为UTF-8。

如果确实如此,那么您可以在此处使用答案添加字节顺序标记:

iconv: Converting from Windows ANSI to UTF-8 with BOM

您也可以参考以下问题 How to convert a file from ASCII to UTF-8?