ID EN
Data Types & Classes

rawConversion

R Base 3.6.2

Conversion and manipulation of objects of type "raw".

Syntax

R
charToRaw(x)
rawToChar(x, multiple = FALSE)<p></p><p>rawShift(x, n)</p><p>rawToBits(x)
intToBits(x)
packBits(x, type = c("raw", "integer"))</p>

Arguments

Parameter Description
x object to be converted or shifted.
multiple logical: should the conversion be to a single character string or multiple individual characters?
n the number of bits to shift. Positive numbers shift right and negative numbers shift left: allowed values are -8 ... 8.
type the result type, partially matched.

Return Value

charToRaw converts a length-one character string to raw bytes. It does so without taking into account any declared encoding (see Encoding). rawToChar converts raw bytes either to a single character string or a character vector of single bytes (with "" for 0). (Note that a single character string could contain embedded nuls; only trailing nulls are allowed and will be removed.) In either case it is possible to create a result which is invalid in a multibyte locale, e.g.one using UTF-8. Long vecto

Details

packBits accepts raw, integer or logical inputs, the last two without any NAs. Note that ‘bytes’ are not necessarily the same as characters, e.g.in UTF-8 locales.

Examples

Example
R
# NOT RUN {
x <- "A test string"
(y <- charToRaw(x))
is.vector(y) # TRUE

rawToChar(y)
rawToChar(y, multiple = TRUE)
(xx <- c(y,  charToRaw("&"), charToRaw("more")))
rawToChar(xx)

rawShift(y, 1)
rawShift(y, -2)

rawToBits(y)

showBits <- function(r) stats::symnum(as.logical(rawToBits(r)))

z <- as.raw(5)
z ; showBits(z)
showBits(rawShift(z, 1)) # shift to right
showBits(rawShift(z, 2))
showBits(z)
showBits(rawShift(z, -1)) # shift to left
showBits(rawShift(z, -2)) # ..
showBits(rawShift(z, -3)) # shifted off entirely
# }