有一个名为Moby的公共项目包含多个单词列表。某些文件包含欧洲字母符号,并且是在Unicode前时间创建的。 1993年的自述文件写道:
“英语中常用的外来词通常包括他们的 变音符号,例如,急性重音e用ASCII表示 142“。
维基百科说最后一个ASCII符号的编号为127。
例如这个文件:http://www.gutenberg.org/files/3203/files/mobypos.txt包含我无法用任何拉丁文编码读取的符号。 (在以C开头的单词的最后部分,有很多这样的符号,就在C字母之前。)
有人可以建议请使用什么编码来读取此文件,或者如何将其转换为可读的现代编码?
答案 0 :(得分:4)
有一项研究表明此页面的编码为Mac OS Roman,其位置为142 é
。查看您关联的网页并更改编码(在Chrome中,查看→编码→西方( Macintosh))似乎正确显示所有单词(它错误地报告ISO-8859-1)。
如何处理这取决于您使用的语言/工具。以下是如何使用Ruby转换为UTF-8的示例:
require 'open-uri'
s = open('http://www.gutenberg.org/files/3203/files/mobypos.txt').read
s.force_encoding('macroman')
s.encode!('utf-8')
你是对的,ASCII只上升到位置127(它是一个7位编码),但是有大量的8位编码是ASCII的超集,人们有时将它们称为{{3} }。看来,无论你写的自述文件是谁,都不知道编码的多样性,并认为他当时正在使用的那个是普遍的。
对于这样的问题没有通用的解决方案,因为没有保证的方法来确定文本本身的某些文本的编码。在这种情况下,我只是使用维基百科来查看一些,直到找到匹配的。如果你想了解更多信息,Joel Spolsky的文章“Extended ASCII”是一个开始阅读字符集和编码的好地方。