rawConversion

0th

Percentile

Convert to or from Raw Vectors

Conversion and manipulation of objects of type "raw".

Keywords
classes
Usage
charToRaw(x)
rawToChar(x, multiple = FALSE)

rawShift(x, n)

rawToBits(x) intToBits(x) packBits(x, type = c("raw", "integer"))

Arguments
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.
Details

packBits accepts raw, integer or logical inputs, the last two without any NAs. #ifdef unix

Note that bytes are not necessarily the same as characters, e.g.in UTF-8 locales. #endif

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 vectors are allowed if multiple is true.

    rawShift(x, n) shift the bits in x by n positions to the right, see the argument n, above.

    rawToBits returns a raw vector of 8 times the length of a raw vector with entries 0 or 1. intToBits returns a raw vector of 32 times the length of an integer vector with entries 0 or 1. (Non-integral numeric values are truncated to integers.) In both cases the unpacking is least-significant bit first.

    packBits packs its input (using only the lowest bit for raw or integer vectors) least-significant bit first to a raw or integer vector.

Aliases
  • charToRaw
  • rawToChar
  • rawShift
  • rawToBits
  • intToBits
  • packBits
Examples
library(base) 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
Documentation reproduced from package base, version 3.3, License: Part of R @VERSION@

Community examples

Looks like there are no examples yet.