base64: Encode/decode data into/from base64 encoding

Description Usage Arguments Value Author(s) Examples

Description

base64encode 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.

Usage

1
2
base64encode(what, linewidth, newline)
base64decode(what, output = NULL, file)

Arguments

what

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 or a binary connection.

linewidth

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.

newline

only applicable if linewidth is set; if set (string), the result will be a single string with all lines joined using the newline string

output

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

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.

Value

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.

Author(s)

Simon Urbanek

Examples

1
2
3
4
5
6
  base64encode(1:100)
  base64encode(1:100, 70)
  base64encode(1:100, 70, "\n")
  x <- charToRaw("the decoded content, otherwise the number of bytes")
  y <- base64decode(base64encode(x))
  stopifnot(identical(x, y))

Example output

[1] "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZA=="
[1] "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIz"
[2] "NDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZA=="
[1] "AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIz\nNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZA=="

base64enc documentation built on May 2, 2019, 6:53 a.m.

Related to base64 in base64enc...