base64.Rdbase64encode encodes a data into base64 encoding. The source
can be a file, binary connection or a raw vector.
base64decode decodes a base64-encoded string into binary
data. The source can be a string or a connection, the output is
either a raw vector (output=NULL) or a binary connection.
base64encode(what, linewidth, newline)
base64decode(what, output = NULL, file, strict = FALSE)data to be encoded/decoded. For base64encode it
can be a raw vector, text connection or file name. For
base64decode it can be a string, raw vector or a binary connection.
if set, the output is split into lines with at most
linewidth characters per line. Zero or NA denotes no
limit and values 1 .. 3 are silently treated as 4 since that is the
shortest valid line.
only applicable if linewidth is set; if set
(string), the result will be a single string with all lines
joined using the newline string
if NULL then the output will be a raw vector
with the decoded data, otherwise it must be either a filename
(string) or a binary connection.
file name (string) for data to use as input instead of
what. It is essentially just a shorthand for
base64decode(file(name)). Only one of what and
file can be specified.
logical scalar. If TRUE then the decoder
validates the input contents making sure it strictly adheres
to the standard, does not include any other characters
(including white spaces, newlines etc.), is correctly padded
and does not have any trailing content. Any validation failure will
result in an error. Otherwise the decoding skips over invalid
characters, permits lack of padding and ignores trailing content.
base64encode: A character vector. If linewith > 0 and
newline is not set then it will consist of as many elements
as there are lines. Otherwise it is a single string.
base64decode: If output = NULL then a raw vector with
the decoded content, otherwise the number of bytes written into the
connection.
base64encode(1:100)
#> [1] "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZA=="
base64encode(1:100, 70)
#> [1] "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIz"
#> [2] "NDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZA=="
base64encode(1:100, 70, "\n")
#> [1] "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIz\nNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZA=="
x <- charToRaw("the decoded content, otherwise the number of bytes")
y <- base64decode(base64encode(x))
stopifnot(identical(x, y))