映射Unicode字符到语言中的R

问题描述:

我是从一个.pdf文件是在泰米尔语(印度的本地语言)语言中提取数据,从PDF文件中的R提取文本后,给了我一些垃圾或Unicode字符格式的文本。我无法把它映射到正确的文本或相同的文字,因为它是PDF文件, 下面是代码映射Unicode字符到语言中的R

library(tm) 
library(pdftools) 
library(qdapRegex) 
library(stringr) 
library(textreadr) 

if(!require("ghit")){ 
    install.packages("ghit") 
} 
# on 64-bit Windows 
ghit::install_github(c("ropenscilabs/tabulizerjars", "ropenscilabs/tabulizer"), INSTALL_opts = "--no-multiarch") 
# elsewhere 
ghit::install_github(c("ropenscilabs/tabulizerjars", "ropenscilabs/tabulizer")) 
text <- extract_tables("D:/first.pdf") 
text[[1]][,2][3] 

这让我像

"«îù£ñ¢«ð좬ì , âô¢ì£ñ¢ú¢ «ó£ Ì" 

我尝试了一些垃圾字符更改unicode类型

library(stringi) 
stri_trans_toupper("ê¶ó®", locale = "Tamil") 

但是没有成功。 任何建议将是可观的。

谢谢。

如果你的文本已经成功提取,它是将编码的唯一的问题,我觉得iconv功能工作。 我提供了一个由“cp932”(东亚语言)编码的文本示例。

# text file written in cp932 
x <- readLines("test-cp932.txt", encoding="utf-8") 

x 
## [1] "\x82\xa0\x82肪\x82Ƃ\xa4" 
# this is garbled because the file has been read 
# in a wrong encoding 

iconv(x, "cp932", "utf-8") 
## [1] "ありがとう" 
# this means 'thank you' 

如果这样不起作用,那么您的文本在解析过程中可能已被污染。

另一种可能是使你的字符串原始对象(代码),并使用像this代码映射重新制定原文。

charToRaw(x) 
## [1] 82 a0 82 e8 82 aa 82 c6 82 a4 
+0

这是我从.pdf文件“的文本分析数据后得到的文本是http://dev.neechalkaran.com/p/oovan.html

无论是编码图案[1] ] [5] [2] [1]“-.M/Só£ñ¢ó£ü¢ãü⢢êÂ|úÂ\ R(通过其\rS.aÃμé代理商¢¢Ã¨Ã¬Â£Ã³ÂA±Ã¹Â¢),V.ÿù¤Ãμ£êù¢\ R,V.ð的£Ã'«è£A°Â£Ã'¢ “并且在使用iconv(text [[1]] [,5] [2],”cp932“,”utf-8“)”-M/Sƒïﳃƒƒƒƒƒƒï³ï テシï¾,「テ」テシテï½ï¾,ï½¢¢ï¾,「テェï¾,ï½|テコï¾,ï½\ R(由代表其\rS.aテï½μï¾ ƒï½©ï¾,ï½¢¢ï¾ƒï½¨ï¾ƒï½¬ï¾,」テウï¾,アテ「テケï¾,ï½),V.テソテケï¾,、テï½μï¾,」テェテケï¾,ï½¢\ R,V.ï¾ƒï½°ï¾ ,」テï½'ï¾,ォティï¾,」テーï¾,」テï½'ï¾,ï½¢ “” – deepesh

+0

非也 “CP932”。我在示例中使用了它,因为这是我熟悉的唯一本地编码。您可以在网络上搜索您的文本可能编码的编码。我不知道经常使用什么编码用于Tamali语言。 –

本pdf格式不是unicode格式。而我无法找到你必须找到解决方案,对其进行编码或者使用unicode PDF