Konvertiere hex in ascii Zeichen

8

Ist es möglich, eine Sequenz von Hexadezimalzeichen (0-9A-F) mit einer Folge von 0-9a-zA-Z-Zeichen darzustellen, so dass die Ergebnissequenz kleiner ist und entschlüsselt werden kann?

Zum Beispiel:

%Vor%     
Dziamid 20.09.2011, 16:30
quelle

4 Antworten

4

Sie können die von mir präsentierte Lösung trivial anpassen hier mit der Funktion base_convert_arbitrary .

Edit: Ich habe nicht sorgfältig genug gelesen :) Base 16 bis Base 62 ist immer noch sehr machbar, wie oben.

Sehen Sie es in Aktion .

    
Jon 20.09.2011, 16:32
quelle
17

Ich denke, du suchst das:

%Vor%

(Von Ссылка ) (Funktioniert wie dieses JavaScript-Tool: Ссылка )

    
Andrew 23.01.2013 18:20
quelle
13

Sie meinen, Sie möchten eine Folge von Hexadezimalziffern in tatsächliche Hexwerte umwandeln?

%Vor%     
Marc B 20.09.2011 16:33
quelle
2

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 ...

    
Jon Skeet 20.09.2011 16:33
quelle

Tags und Links