<?php
function gdr_encode($val) {
return base64_encode($val);
}
function gdr_decode($val) {
return base64_decode($val);
}
$vals = array(0, 1, 99, 100, 255, 256, 999, 1000, 9999, 10000, 65535, 65536, 99999, 100000, 999999, 1000000, 4294967295, 4294967296);
foreach ($vals as $val) {
$enc = json_encode(gdr_encode($val));
$dec = json_encode(gdr_decode($enc));
$val = json_encode($val);
if (strlen($enc) > strlen($val)) {
echo "$enc $val WORSE\n";
} else if (strlen($enc) == strlen($val)) {
echo "$enc $val EQUAL\n";
} else {
echo "$enc $val\n";
}
}
- Output for 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- "MA==" 0 WORSE
"MQ==" 1 WORSE
"OTk=" 99 WORSE
"MTAw" 100 WORSE
"MjU1" 255 WORSE
"MjU2" 256 WORSE
"OTk5" 999 WORSE
"MTAwMA==" 1000 WORSE
"OTk5OQ==" 9999 WORSE
"MTAwMDA=" 10000 WORSE
"NjU1MzU=" 65535 WORSE
"NjU1MzY=" 65536 WORSE
"OTk5OTk=" 99999 WORSE
"MTAwMDAw" 100000 WORSE
"OTk5OTk5" 999999 WORSE
"MTAwMDAwMA==" 1000000 WORSE
"NDI5NDk2NzI5NQ==" 4294967295 WORSE
"NDI5NDk2NzI5Ng==" 4294967296 WORSE
preferences:
331.29 ms | 405 KiB | 415 Q