映射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
答
本pdf格式不是unicode格式。而我无法找到你必须找到解决方案,对其进行编码或者使用unicode PDF
这是我从.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
非也 “CP932”。我在示例中使用了它,因为这是我熟悉的唯一本地编码。您可以在网络上搜索您的文本可能编码的编码。我不知道经常使用什么编码用于Tamali语言。 –