A simple S3 class for representing BLOBs
Clone or download
krlmlr Merge tag 'v1.1.1'
- Now suggesting *pillar* instead of importing *tibble*, and using colored
  formatting with the *prettyunits* package with `B` instead of `b` as units
  (#7, #9).

- The blob class can now be used for S4 dispatch.

- Calling `c()` on blob objects returns a blob.
Latest commit 77ba6bc Mar 25, 2018

README.md

Travis-CI Build Status CRAN_Status_Badge Coverage Status

blob

The goal of blob is to provide a simple S3 class to represent a vector of binary objects, aka blobs. The blob class is a lightweight wrapper around a list of raw vectors, suitable for inclusion in a data frame.

In most cases you will not need to use this package explicitly: it will be used transparently by packages that need to load BLOB columns from databases or binary file formats.

Installation

You can install blob from github with:

# install.packages("devtools")
devtools::install_github("tidyverse/blob")

Example

To create a blob, use blob(), new_blob() or as.blob():

x1 <- charToRaw("Good morning")
x2 <- as.raw(c(0x48, 0x65, 0x6c, 0x6c, 0x6f))

new_blob(list(x1, x2))
#> [1] blob[12 B] blob[5 B]
blob(x1, x2)
#> [1] blob[12 B] blob[5 B]

as.blob(c("Good morning", "Good evening"))
#> [1] blob[12 B] blob[12 B]