Как правильно обрабатывать экранированные символы Unicode в R, например Эм тире (-)

У меня проблемы с обработкой экранированных символов Unicode в R, особенно те, которые встречаются при получении информации из MediaWiki API. Я бы нашел строку JSON, как

{"query":{"categorymembers":[{"ns":0,"title":"Banach\u2013Tarski paradox"}]}}

Который должен быть совершенно действительным, но при прочтенииfromJSON() Я получил:

snip...
[1] "Banach\023Tarski paradox"

Сначала я думал, что это просто проблема с RJSONIO, но я сталкиваюсь с подобными проблемами сscan() а такжеreadLines(), Я предполагаю, что мне не хватает чего-то очень простого.

Я не могу привести полностью воспроизводимый пример, используятолько R, потому что, если я отправлю «em \ u2013dash» в файл через write () (или какую-либо эквивалентную функцию), R автоматически преобразует em dash. Так что здесь идет. Создайте текстовый файл с именем test1 со следующим:

"em\u2013dash" "em–dash" " em \u2013 dash"

Затем загрузите R (для любого пути к файлу):

> scan( file = "~/R/test1", what = "character", encoding = "UTF-8")
Read 3 items
[1] "em\\u2013dash"    "em–dash"          " em \\u2013 dash"
> readLines("~/R/test1", warn = FALSE, encoding = "UTF-8")
[1] "\"em\\u2013dash\" \"em–dash\" \" em \\u2013 dash\""

Добавленный escape-символ - вот что вызывает у меня проблемы сfromJSON(), Я мог бы просто удалить их, но, вероятно, сломал бы что-то еще в процессе, и я думаю, что есть более простое решение. Благодарю.

Вот информация о сессии:

R version 2.14.1 (2011-12-22)
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)

locale:
[1] C/en_US.UTF-8/C/C/C/C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] RJSONIO_0.98-0

loaded via a namespace (and not attached):
[1] tools_2.14.1

Ответы на вопрос(3)

Ваш ответ на вопрос