## Name Encode::Bijou64 - Encode and decode Bijou64 integers ## Synopsis ```perl use Encode::Bijou64; my $bytes = encode_bijou64(123456); # 0xfa00e048 my $num = decode_bijou64($bytes); # 123456 ``` ## Description Encode::Bijou64 implements the Bijou64 variable-length integer encoding format described by Ink & Switch. Small integers occupy fewer bytes while preserving efficient decoding. ### Bytes Needed Encoding integers will result in a string of this many bytes ``` Integer Range Total Size ------------------------------------------ < 247 1 byte < 503 2 bytes < 66,039 3 bytes < 16,843,255 4 bytes < 4,311,810,551 5 bytes < 1,103,823,438,327 6 bytes < 282,578,800,148,983 7 bytes < 72,340,172,838,076,919 8 bytes < 18,446,744,073,709,551,615 9 bytes ``` ## Functions ### encode\_bijou64($integer) Encodes a non-negative integer into a Bijou64 byte string. ### decode\_bijou64($bytes) Decodes a Bijou64 byte string and returns the integer value. ## See Also https://www.inkandswitch.com/tangents/bijou64/ ## Author Scott Baker ## License This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.