encodeString              package: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), '\v' (vertical tab) and '\0' (nul)
     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")

