簡體   English   中英

如何保留an.rtf的編碼

[英]How keep the encoding of an .rtf

我是巴西人,這是我第一次使用 R 中的文本。

我需要將 .rtf 文件轉換為 .txt 文件。

因為我是巴西人,所以我會說葡萄牙語並且我需要這些字符:ã、õ、í、ç、ô 等。

例子

text <- "o de garantias adequadas e suficientes do cooperado ou de seus garantidores e a observância das demais normas regulamentares oficiais e internas do Sistema, e com respeito aos princípios da boa gestão, da seletividade, da diversificação"

我的原始代碼:

files <- list.files("estatutos/rtf/", pattern = "\\.rtf$")

for (file in 1:length(files)) {
  x <- files[file]
  
  # read RTF into R
  y <- striprtf::read_rtf(paste("estatutos/rtf/", x, "", sep = "")) 
  
  # strip RTF encoding
  z <- striprtf::strip_rtf(y) |>
    iconv(from = "UTF-8", to = "latin1")
  
  # Write each to a TXT file by its original name
  write(z, paste("estatutos/txt/", x, ".txt", sep = ""))
  
  # Tell about progress
  cat("Processing file", x, " - ", file, "of", length(files), "\n")
}
rm(files, x, y, z, file, i)

我的問題:

當我閱讀 the.rtf 時,我有一個這樣的列表

 [523] "o de garantias adequadas e suficientes do cooperado ou de seus garantidores e a observ"                                                                                                  
 [524] "â"                                                                                                                                                                                       
 [525] "ncia das demais normas regulamentares oficiais e internas do Sistema, e com respeito aos princ"                                                                                          
 [526] "í"                                                                                                                                                                                       
 [527] "pios da boa gest"                                                                                                                                                                        
 [528] "ã"                                                                                                                                                                                       
 [529] "o, da seletividade, da diversifica"                                                                                                                                                      
 [530] ""                                                                                                                                                                                       
 [531] "o de riscos e da seguran"                                                                                                                                                                
 [532] "ç"                                                                                                                                                                                       
 [533] "a operacional."                            

我怎樣才能把它放在一個文本中?

我嘗試使用striprtf::strip_rtf() ,我有全文,還有:

[1] o de garantias adequadas e suficientes do cooperado ou de seus garantidores e a observ?ncia das demais normas regulamentares oficiais e internas do Sistema, e com respeito aos princ?pios da boa gest?o, da seletividade, da diversificao                                

“?” 應為 'â'、'í'、'ã' 和 "çã"。

ps:我還嘗試將列表作為字符串放入paste(y, collapse='') ,但是 '?' 還在出現,

striprtf::read_rtf使用readLines()來讀取實際文件。

readLines()有一個encoding參數。

很可能像striprtf::read_rtf(..., encoding = "latin1")這樣的東西對你有用,因為“latin1”適用於大多數西歐語言,比如葡萄牙語。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM