Как мне перекодировать следующие символы?

Я сохранил CSV в формате, отличном от UTF8, и специальные символы были экранированы, поэтому файл не сломан, но я все еще не могу восстановить исходную кодировку.stringi::stri_enc_detect(str = x) предполагает, что кодировка ISO-8859-1,

Я попробовала обычные пакакажи

test_string = "Mar<ed>n: <U+0093> <U+0085> ni<f1>os"
Encoding(test_string ) <- "ISO-8859-1", 
iconv(test_string, from="ISO-8859-1", to="UTF-8")
  stringi::stri_unescape_unicode(test_string )

Однако ничего из этого не сработало. Любая идея будет высоко ценится!

РЕДАКТИРОВАТЬ: ответить на вопрос самостоятельно для будущих ссылок:

Не совсем тот же вопрос, что и помеченный дубликат, здесь есть дополнительная проблема отсутствия части Юникода, например, это - но это должно быть. Чтобы найти всех, я сначала создал их список:

selected_unicodes = text %>% 
    map(~stri_match_all_regex(str = .x, pattern = "<[cdef](.*?)>")[[1]][,1]) %>% 
    unlist(recursive = TRUE) %>% 
    unique()

а затем зациклил текст, чтобы заменить их один за другим:

for (unicode in selected_unicodes) {
      replacement = gsub(">","", gsub("<","\\\\u00",unicode))
      text = text %>% str_replace_all(unicode, replacement)
    }

0 ответов

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