For historical reasons, R translates strings to the native encoding
when they are converted to symbols. This string-to-symbol
conversion is not a rare occurrence and happens for instance to the
names of a list of arguments converted to a call by
If the string contains unicode characters that cannot be
represented in the native encoding, R serialises those as an ASCII
sequence representing the unicode point. This is why Windows users
with western locales often see strings looking like
alleviate some of the pain, rlang parses strings and looks for
serialised unicode points to translate them back to the proper
UTF-8 representation. This transformation occurs automatically in
env_names() and can be manually triggered with
A character vector.
This function is experimental.
ascii <- "<U+5E78>" chr_unserialise_unicode(ascii)#>  "幸"identical(chr_unserialise_unicode(ascii), "\u5e78")#>  TRUE