RFC 1751#
RFC 1751 encoder and decoder library for PHP.
Installation#
composer require arokettu/rfc1751
Documentation#
Encoding#
RFC 1751 algorithm encodes binary data by blocks of 8 bytes into 6 English words:
<?php
\Arokettu\Rfc1751\Rfc1751::encode(hex2bin('EB33F77EE73D4053'));
// 'TIDE ITCH SLOW REIN RULE MOT'
Blocks shorter than 8 bytes will be padded by zeroes:
<?php
$encoded = \Arokettu\Rfc1751\Rfc1751::encode("\xeb");
var_dump($encoded); // "TICK A A A A ACE"
$decoded = \Arokettu\Rfc1751\Rfc1751::decode($encoded);
var_dump(bin2hex($decoded)); // "eb00000000000000"
Decoding#
Decoding will succeed if
Number of words is divisible by 6 to be able to decode entire blocks.
2-bit checksum (parity) is valid.
<?php
\Arokettu\Rfc1751\Rfc1751::decode('TIDE ITCH SLOW REIN RULE MOT');
// 0xEB33F77EE73D4053
The string is case insensitive and space insensitive:
<?php
\Arokettu\Rfc1751\Rfc1751::decode(' tide ItcH SLOW Rein rule moT ');
// 0xEB33F77EE73D4053
License#
The library is available as open source under the terms of the MIT License.