R: Encode Character Vector as for Printing

encodeString {base} | R Documentation

## Encode Character Vector as for Printing

### Description

`encodeString` escapes the strings in a character vector in the same way `print.default` does, and optionally fits the encoded strings within a field width.

### Usage

    encodeString(x, width = 0, quote = "", na.encode = TRUE,
                 justify = c("left", "right", "centre", "none"))

### Arguments

`x` | A character vector, or an object that can be coerced to one by `as.character`.
`width` | integer: the minimum field width. If `NULL` or `NA`, this is taken to be the largest field width needed for any element of `x`.
`quote` | character: quoting character, if any.
`na.encode` | logical: should `NA` strings be encoded?
`justify` | character: partial matches are allowed. If padding to the minimum field width is needed, how should spaces be inserted? `justify == "none"` is equivalent to `width = 0`, for consistency with `format.default`.

### Details

This escapes backslash and the control characters `\a` (bell), `\b` (backspace), `\f` (formfeed), `\n` (line feed), `\r` (carriage return), `\t` (tab) and `\v` (vertical tab) as well as any non-printable characters in a single-byte locale, which are printed in octal notation (`\xyz` with leading zeroes). (Which characters are non-printable depends on the current locale.) See `print.default` for how non-printable characters are handled in multi-byte locales.

If `quote` is a single or double quote any embedded quote of the same type is escaped. Note that justification is of the quoted string, hence spaces are added outside the quotes.

### Value

A character vector of the same length as `x`, with the same attributes (including names and dimensions) but with no class set.

### Note

The default for `width` is different from `format.default`, which does similar things for character vectors but without encoding using escapes.

### See Also

`print.default`

### Examples

    x <- "ab\bc\ndef"
    print(x)
    cat(x) # interprets escapes
    cat(encodeString(x), "\n", sep="") # similar to print()

    factor(x) # makes use of this to print the levels

    x <- c("a", "ab", "abcde")
    encodeString(x, width = NA) # left justification
    encodeString(x, width = NA, justify = "c")
    encodeString(x, width = NA, justify = "r")
    encodeString(x, width = NA, quote = "'", justify = "r")

[Package base version 2.8.1 Index]