Module grisp_bitmap

Bitstring editing and printing.

Description

Bitstring editing and printing.

Data Types

coding()

coding() = bin | binary | dec | decimal | hex | hexadecimal | nib | nibble

Function Index

get_bits/3Get a part of a bitstring.
get_bytes/3Equivalent to get_bits(Bin, Start * 8, Len * 8).
pp/1Print binary as hexadecimal numbers.
pp/2Print binary as numbers.
set_bits/3Replace a part of a bitsting.
set_bytes/3Equivalent to set_bits(Bin, Start * 8, Value).

Function Details

get_bits/3

get_bits(Bin::bitstring(), Start::non_neg_integer(), Len::non_neg_integer()) -> bitstring()

Get a part of a bitstring.

Example

  1> grisp_bitmap:get_bits(<<1,2,3,4,5>>, 6, 2).
  <<1:2>>

get_bytes/3

get_bytes(Bin::binary(), Start::non_neg_integer(), Len::non_neg_integer()) -> binary()

Equivalent to get_bits(Bin, Start * 8, Len * 8).

pp/1

pp(Bin::bitstring()) -> ok

Print binary as hexadecimal numbers.

Example

  2> grisp_bitmap:pp(<<16#f2, 17>>).
  F2 11
  ok

pp/2

pp(Bin::bitstring(), Display::coding() | #{display => coding()}) -> ok

Print binary as numbers.

Example

  3> grisp_bitmap:pp(<<16#f2, 17>>, nib).
  1111 0010  0001 0001
  ok
  4> grisp_bitmap:pp(<<16#f2, 17>>, #{display => bin}).
  1111 0010  0001 0001
  ok

set_bits/3

set_bits(Bin::bitstring(), Start::non_neg_integer(), Value::bitstring()) -> bitstring()

Replace a part of a bitsting.

Example

  5> grisp_bitmap:pp(grisp_bitmap:set_bits(<<2#00000000>>, 6, <<2#1:1>>), bin).
  00000010
  ok

set_bytes/3

set_bytes(Bin::binary(), Start::non_neg_integer(), Value::bitstring()) -> binary()

Equivalent to set_bits(Bin, Start * 8, Value).


Generated by EDoc