rawConversion              package:base              R Documentation

_C_o_n_v_e_r_t _t_o _o_r _f_r_o_m _R_a_w _V_e_c_t_o_r_s

_D_e_s_c_r_i_p_t_i_o_n:

     Conversion and manipulation of  objects of type '"raw"'.

_U_s_a_g_e:

     charToRaw(x)
     rawToChar(x, multiple = FALSE)

     rawShift(x, n)

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

_A_r_g_u_m_e_n_t_s:

       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.

_D_e_t_a_i_l_s:

     '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 domains.

_V_a_l_u_e:

     'charToRaw' converts a length-one character string to raw bytes.

     'rawToChar' converts raw bytes either to a single character string
     or a character vector of single bytes.  (Note that a single
     character string could contain embedded nuls.)

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

_E_x_a_m_p_l_e_s:

     x <- "A test string"
     (y <- charToRaw(x))
     is.vector(y) # TRUE

     rawToChar(y)
     rawToChar(y, multiple = TRUE)
     (xx <- c(y, as.raw(0), charToRaw("more")))
     rawToChar(xx)
     xxx <- xx
     xxx[length(y)+1] <- charToRaw("&")
     xxx
     rawToChar(xxx)

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

     rawToBits(y)

