Ich möchte Strings gerne verkleinern -1234B56789C;ABC1D3E/FGH4IJKL
Das sind ca. 20 - 25 Groß- und Kleinschreibung.
Mein Ziel ist es, eine alphanumerische Zeichenfolge zu haben, die maximal ist 16
Figuren. Sie müssen für Menschen lesbar bleiben.
Ist das möglich? Gibt es Algorithmen, die verwendet werden können, um alphanumerische Zeichenfolgen zu komprimieren, die auch spezielle Zeichen enthalten?
Es muss auch möglich sein, die Komprimierung zurückzusetzen.
Antworten:
2 für die Antwort № 1Ich denke, im Allgemeinen ist es nicht möglich, es sei denn, Sie verwenden ein anderes Zielalphabet.
Soweit ich das derzeit verstehe source alphabet
ist 0-9 und A-Z.
Wenn Sie Ihre verlängern target alphabet
um auch bestimmte N> 0 andere Zeichen einzuschließen,
Dann können Sie eine Eingabezeichenfolge mit weniger Zeichen codieren, die sie ursprünglich hatte
(weil Sie zum Beispiel Zeichenpaare aus dem Quellalphabet mit codieren können
ein einzelnes Zeichen vom Zielalphabet).
2 für die Antwort № 2
Sie könnten versuchen, einen LZW-ähnlichen Ansatz zu wählen und nach allgemeinen Mustern in Ihren Eingaben zu suchen. Zum Beispiel - wenn Sie feststellen, dass "1234" häufig in Ihren Strings vorkommt, könnten Sie das als "Q" kodieren.
Dieser Ansatz kann Sie nicht konsequent erreichenAnforderungen einer 16-stelligen codierten Zeichenfolge, es sei denn, Sie können nachweisen, dass die von Ihnen ausgewählten Komprimierungszuordnungen immer in der Quelle mit ausreichender Regelmäßigkeit auftreten, um eine Länge von 16 Zeichen zu erzielen.