Отображение символов Юникода на язык в R

Я извлекаю данные из файла.pdf, который написан на тамильском (местном индийском языке) языке. После извлечения текста в R из файла pdf, я получаю текст в формате мусора или символов Юникода. Я не могу сопоставить его с правильным текстом или тем же текстом, что и в файле PDF, вот код

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]

Это дает мне какой-то ненужный персонаж, как

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

Я пробовал с изменением типа юникода

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

Но безуспешно. Любое предложение будет заметно.

Благодарю.

2 ответа

Если ваш текст был успешно извлечен, и это единственная проблема преобразования кодировки, я думаю, 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'

Если это не сработает, возможно, ваш текст был заражен в процессе анализа.

Другая возможность состоит в том, чтобы преобразовать ваши строки в необработанный объект (коды) и переформулировать исходный текст, используя сопоставление кода следующим образом

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

Этот PDF не в формате Unicode. и я не могу найти его кодировку http://dev.neechalkaran.com/p/oovan.html

либо вы должны найти решение для его кодирования, либо использовать Unicode PDF

Другие вопросы по тегам