Nun, etwas ähnlich , ja ... parse die Hexadezimalzeichen als Binärwert und konvertiere dann nach base64. Das verwendet ein kleines Bit mehr als 0-9 a-z A-Z, aber nur ein paar mehr Zeichen. Ist es in Ordnung, drei weitere Charaktere zusätzlich zu diesen 62 zu benutzen? Sie können base64_encode
verwenden, um die Codierung durchzuführen, falls dies der Fall ist.
(Sie könnten stattdessen zu base32 konvertieren, aber das wäre nicht so kompakt. Konvertieren in Basen, die keine Potenzen von 2 sind, ist ebenfalls möglich, aber weniger ansprechend.)
Sie benötigen auch eine Möglichkeit, ein abschließendes Halbbyte darzustellen, wenn Ihre Eingabesequenz eine ungerade Anzahl von Zeichen enthält. Sie werden wahrscheinlich darüber nachdenken, bevor Sie pack
aufrufen, um das ursprüngliche Parsing durchzuführen ...