iconv {base} | R Documentation |
This uses system facilities to convert a character vector between encodings: the ‘i’ stands for ‘internationalization’.
iconv(x, from, to, sub=NA) iconvlist()
x |
A character vector, or an object to be converted to a character
vector by as.character . |
from |
A character string describing the current encoding. |
to |
A character string describing the target encoding. |
sub |
character string. If not NA it is used to replace
any non-convertible bytes in the input. (This would normally be a
single character, but can be more. If "byte" , the indication is
"<xx>" with the hex code of the byte. |
The names of encodings and which ones are available (and indeed, if
any are) is platform-dependent. On systems that support R's
iconv
you can use ""
for the encoding of the current
locale, as well as "latin1"
and "UTF-8"
.
iconvlist
provides an alphabetical list of the supported encodings.
Elements of x
which cannot be converted (perhaps because they
are invalid or because they cannot be represented in the target
encoding) will be returned as NA
unless sub
is specified.
Some versions of iconv
will allow transliteration by appending
//TRANSLIT
to the to
encoding: see the examples.
A character vector of the same length and the same attributes as
x
(after conversion).
Not all platforms support these functions. See also
capabilities("iconv")
.
## Not run: iconvlist() ## convert from Latin-2 to UTF-8: two of the glibc iconv variants. iconv(x, "ISO_8859-2", "UTF-8") iconv(x, "LATIN2", "UTF-8") ## Both x below are in latin1 and will only display correctly in a ## latin1 locale. (x <- "fa\xE7ile") charToRaw(xx <- iconv(x, "latin1", "UTF-8")) ## in a UTF-8 locale, print(xx) iconv(x, "latin1", "ASCII") # NA iconv(x, "latin1", "ASCII", "?") # "fa?ile" iconv(x, "latin1", "ASCII", "") # "faile" iconv(x, "latin1", "ASCII", "byte") # "fa<e7>ile" # Extracts from R help files (x <- c("Ekstr\xf8m", "J\xf6reskog", "bi\xdfchen Z\xfcrcher")) iconv(x, "latin1", "ASCII//TRANSLIT") iconv(x, "latin1", "ASCII", sub="byte") ## End(Not run)