gleam/bit_array
BitArrays are a sequence of binary data of any length.
Values
pub fn append(
  to first: BitArray,
  suffix second: BitArray,
) -> BitArrayCreates a new bit array by joining two bit arrays.
Examples
append(to: from_string("butter"), suffix: from_string("fly"))
// -> from_string("butterfly")
pub fn base16_decode(input: String) -> Result(BitArray, Nil)Decodes a base 16 encoded string into a BitArray.
pub fn base16_encode(input: BitArray) -> StringEncodes a BitArray into a base 16 encoded string.
If the bit array does not contain a whole number of bytes then it is padded with zero bits prior to being encoded.
pub fn base64_decode(encoded: String) -> Result(BitArray, Nil)Decodes a base 64 encoded string into a BitArray.
pub fn base64_encode(input: BitArray, padding: Bool) -> StringEncodes a BitArray into a base 64 encoded string.
If the bit array does not contain a whole number of bytes then it is padded with zero bits prior to being encoded.
pub fn base64_url_decode(
  encoded: String,
) -> Result(BitArray, Nil)Decodes a base 64 encoded string with URL and filename safe alphabet into a
BitArray.
pub fn base64_url_encode(
  input: BitArray,
  padding: Bool,
) -> StringEncodes a BitArray into a base 64 encoded string with URL and filename
safe alphabet.
If the bit array does not contain a whole number of bytes then it is padded with zero bits prior to being encoded.
pub fn bit_size(x: BitArray) -> IntReturns an integer which is the number of bits in the bit array.
pub fn byte_size(x: BitArray) -> IntReturns an integer which is the number of bytes in the bit array.
pub fn compare(a: BitArray, with b: BitArray) -> OrderCompare two bit arrays as sequences of bytes.
Examples
compare(<<1>>, <<2>>)
// -> Lt
compare(<<"AB":utf8>>, <<"AA":utf8>>)
// -> Gt
compare(<<1, 2:size(2)>>, with: <<1, 2:size(2)>>)
// -> Eq
pub fn concat(bit_arrays: List(BitArray)) -> BitArrayCreates a new bit array by joining multiple binaries.
Examples
concat([from_string("butter"), from_string("fly")])
// -> from_string("butterfly")
pub fn from_string(x: String) -> BitArrayConverts a UTF-8 String type into a BitArray.
pub fn inspect(input: BitArray) -> StringConverts a bit array to a string containing the decimal value of each byte.
Examples
inspect(<<0, 20, 0x20, 255>>)
// -> "<<0, 20, 32, 255>>"
inspect(<<100, 5:3>>)
// -> "<<100, 5:size(3)>>"
pub fn pad_to_bytes(x: BitArray) -> BitArrayPads a bit array with zeros so that it is a whole number of bytes.
pub fn slice(
  from string: BitArray,
  at position: Int,
  take length: Int,
) -> Result(BitArray, Nil)Extracts a sub-section of a bit array.
The slice will start at given position and continue up to specified length. A negative length can be used to extract bytes at the end of a bit array.
This function runs in constant time.
pub fn starts_with(bits: BitArray, prefix: BitArray) -> BoolChecks whether the first BitArray starts with the second one.
Examples
starts_with(<<1, 2, 3, 4>>, <<1, 2>>)
// -> True