如果我已经知道样本应该是什么,如何确定文本的编码?

时间:2012-09-10 21:23:38

标签: r character-encoding

我正在尝试PDF搜索list of physician names。该文件似乎采用混合编码。

当我复制/粘贴一个医生的名字时(第51页),我明白了:

  

Dandona,Suklesh

如果我只将jibberish部分粘贴到文本文件并尝试enca,我会得到:

enca -L none CHC_test.txt 
Universal transformation format 8 bits; UTF-8

哪不是。

这里的皱纹使得它不是previous questions的副本,如果我只是在PDF查看器中查看文件,我就能看到地址。它是(输入):1601 Main St Suite 306

那么如何转换此文件中的地址? enca似乎没有采用已知的文本字符串。我想我可以通过iconv以编程方式运行每一个支持的编码,看看结果是否等于我在下面输入的内容。由于R有一个iconv接口,我可能会这样做,但也许某人有更好的解决方案?

我知道关于编码的常见警告:没有办法确定,unicode不是编码等等。我已经读过Joel,我保证。 :-D

1 个答案:

答案 0 :(得分:1)

这不是一个编码问题,你正在处理一个混淆的PDF,这可能是一个故意让人们为这些信息的数据库付费的措施。这是以programs in a Turing-complete language为基础在Interwebs周围传输文档的功能之一。

你最好的选择是将它呈现给一个图像,然后使用OCR进行解析,这在我的测试中运行良好(使用ImageMagick转换为300dpi的PNG并在Linux上使用cuneiform解析它们):

themel@kallisti: ~/so $ grep Street cuneiform-out.txt 
Adoue Street 
7930 Broadway Street Suite 
6516 Broadway Street Suite 
6516 Broadway Street Suite 
218 East House Street 
303 North Mckinney Street 
826 South Meyer Street