Convert Characters to ASCII

Description

Convert character vector to ASCII, replacing non-ASCII characters with single-byte (\x00) or two-byte (\u0000) codes.

Usage

1
ASCIIfy(x, bytes = 2, fallback = "?")

Arguments

x

a character vector, possibly containing non-ASCII characters.

bytes

either 1 or 2, for single-byte (\x00) or two-byte (\u0000) codes.

fallback

an output character to use, when input characters cannot be converted.

Value

A character vector like x, except non-ASCII characters have been replaced with \x00 or \u0000 codes.

Note

To render single backslashes, use these or similar techniques:

1
2
    write(ASCIIfy(x), "file.txt")
    cat(paste(ASCIIfy(x), collapse="\n"), "\n", sep="")

The resulting strings are plain ASCII and can be used in R functions and datasets to improve package portability.

Author(s)

Arni Magnusson arnima@hafro.is

See Also

showNonASCII identifies non-ASCII characters in a character vector.

Examples

1
2
3
4
5
6
7
8
cities <- c("S\u00e3o Paulo", "Reykjav\u00edk")
print(cities)
ASCIIfy(cities, 1)
ASCIIfy(cities, 2)

athens <- "\u0391\u03b8\u03ae\u03bd\u03b1"
print(athens)
ASCIIfy(athens)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.