OCTAL_UTILS - ntruessel/etar GitHub Wiki
OCTAL_UTILS
provides various utility functions to turn natural numbers (NATURAL
) to strings and vice-versa. These functions are mainly used for ustar header writer and parser. Since most features are the same for different sized types (NATURAL_16
, NATURAL_32
, and NATURAL_64
) this page only describes one of these and replaces the size with XX
.
is_octal_formatted
is_octal_formatted (a_string: READABLE_STRING_8): BOOLEAN
Returns true iff the given string matches the following regex: [0-7]*
is_octal_natural_XX_string
is_octal_natural_XX_string (a_string: READABLE_STRING_8): BOOLEAN
Returns true iff the given argument represents a valid octal string that fits into XX bits. Valid octal strings only consist of the characters '0' to '7' (no minus or plus sign, no spaces).
octal_string_to_natural_XX
octal_string_to_natural_16 (a_string: READABLE_STRING_8): NATURAL_XX
Parse a string representing an octal number and return its value.
natural_XX_to_octal_string
natural_XX_to_octal_string (n: NATURAL_XX): STRING_8
Turn a number to its octal string representation.
Utilities and Internal Functions
natural_8_to_octal_character
natural_8_to_octal_character (n: NATURAL_8): CHARACTER_8
Turn number between 0 and 7 to its character representation ('0' to '7')
leading_zeros_count
leading_zeros_count (a_string: STRING_8): INTEGER
Indicates how many zeros a_string
starts with. Mainly used for the is_octal_natural_XX_string
features.
pad
pad (a_string: STRING_8; n: INTEGER)
Prepend n
zero characters to a_string
. Used by ustar header writer.