Edited at

UTF-16実体参照をUTF-8に変換

More than 3 years have passed since last update.

国立国会図書館のSPARQLデータベースにアクセスしたら、日本語はUTF-16で実体参照されていた。

しょうがないので変換する。

library(stringi) ; library(gsubfn)

> stri_unescape_unicode( gsubfn("&#x|;", list("&#x" = "\\u", ";" = ""), "夏目"))
[1] "夏目"

あとで以下の方法を鍵垢氏より教えてもらった。余計なパッケージを利用する必要がないので、こちらが吉。

> stri_unescape_unicode(stri_replace_all_fixed("夏&#x76EE", c("&#x", ";"), c("\\u", ""), vectorize_all = FALSE))

[1] "夏目"

ちなみにjsonを指定すると、普通にUTF-8を返してきた。ばかやろう。