Geben Sie "Hello World! How are you today?" in den Textumkehrer ein, und Sie erhalten je nach Modus drei verschiedene Antworten: Der Zeichenmodus gibt die 31 Zeichen lange Zeile als "?yadot uoy era woH !dlroW olleH" zurück, der Wortmodus behält alle sechs Wörter bei und ordnet sie um zu "today? you are How World! Hello", und der Zeilenmodus dreht die Reihenfolge der Zeilen, während jede Zeile selbst unberührt bleibt. Alle drei Ergebnisse werden in Ihrem Browser auf der Seite berechnet, ohne Anfrage an einen Server.
Der Zeichenmodus dreht Codepunkte um, keine Bytes
Der Zeichenmodus liest die Zeichenfolge vom letzten Codepunkt bis zum ersten und schreibt sie zurück, deshalb bewegen sich auch die Buchstaben innerhalb jedes Wortes. "Hello World! How are you today?" kommt als "?yadot uoy era woH !dlroW olleH" zurück, das Fragezeichen jetzt zuerst und das große H von Hello zuletzt. Weil der Schnitt an Codepunkten und nicht an Bytes stattfindet, überlebt ein Emoji als eine Einheit: "ab🚀cd" gibt "dc🚀ba" zurück, die Rakete ganz zwischen den beiden Buchstabenpaaren. Der Zeichenzähler und -Analyseur meldet denselben Eingang als 6 Zeichen, denn seine Zählung folgt den internen 16-Bit-Einheiten, in denen die Rakete zwei belegt, während die sichtbaren Symbole fünf sind.
Der Wortmodus ordnet Wörter um und normalisiert Leerzeichen
Der Wortmodus ist der, der Wörter behält. Er schneidet den Eingang an Leerzeichenfolgen, wirft die leeren Teile weg, dreht die Wortliste um und verbindet mit einem Leerzeichen, deshalb gibt die Zeile mit sechs Wörtern "today? you are How World! Hello" zurück. Dieses Verbinden räumt auch die Abstände mit: "hello" gefolgt von drei Leerzeichen und "world" kommt als "world hello" zurück, ein Leerzeichen, kein Rand am Anfang oder Ende. Wenn ein Block auf unregelmäßigen Abständen steht, wendet der Leerraum-Reiniger die gleiche Regel, Leerzeichen auf eines zusammenzufassen, auf das ganze Dokument auf einmal an, während der Wortmodus hier nur beim Umordnen normalisiert.
Der Zeilenmodus dreht die Reihenfolge der Zeilen
Der Zeilenmodus behält den Inhalt jeder Zeile und ändert nur ihre Reihenfolge: Ein Block, dessen Zeilen "apple", "banana" und "cherry" lauten, kommt als "cherry", "banana", "apple" zurück, und ein Block aus Logzeilen wird neuestes zuerst, ohne einen einzigen Buchstaben innen zu berühren. Dieser Vergleichsgebrauch ist der Platz der String-Ähnlichkeit: Geben Sie ihr den Originalblock und sein zeilenumgekehrtes Zwillingsteil, und sie bewertet, wie nah die beiden Lektüren beieinander liegen, die numerische Form des Palindromtests, derselbe Trick wie eine Zeile umzudrehen und zu fragen, ob die Antwort der Frage gleich ist.
Zweimal umdrehen gibt das Original zurück
Der Zeichenmodus ist seine eigene Rückgängigmachung. Führen Sie "?yadot uoy era woH !dlroW olleH" erneut durch das Werkzeug, und Sie erhalten "Hello World! How are you today?" zurück, die exakten 31 Zeichen in der exakten Reihenfolge, denn eine Liste zweimal zu umdrehen ist die Identität. Der Wortmodus macht auch die Hin-und-Rück-Runde, aber nur bis zur Normalisierung, die der erste Durchgang schon erledigt hat: Drei Leerzeichen, die beim Hinaus auf eines zusammengefasst wurden, bleiben beim Rückweg eines. Diese Paareigenschaft, transformieren und dann zurücktransformieren, ist der Grund, warum Encoder sich gleich anfühlen: Der URL-Encoder/Decoder arbeitet auch in Paaren, encodieren und dann decodieren, und die decodierte Ausgabe muss mit dem Eingang übereinstimmen, sonst ist das Paar gebrochen.
Wo sich das Umkehren in einer Textpipeline einordnet
Das Umkehren ist die billigste Kodierung, die Sie bauen können, eine reine Permutation, die keine Bits ausgibt, und es passt in dieselben Pipelines wie die Encoder, die Bits ausgeben. Der Text-Binär-Konverter-Guide behandelt die Schwesterrichtung, die jedes Zeichen in seinen 8-Bit-Code überführt, damit "Hi" als 01001000 01101001 gelesen wird, und dieselbe Hin-und-Rück-Logik gilt: Decodieren Sie den Code, und Sie müssen wieder auf die Zeichenfolge landen, die ihn erzeugt hat. Das Umkehren ist das kostenfreie Mitglied dieser Familie, dasjenige, bei dem die Umkehrung die Operation selbst ist, genau deshalb greift ein Entwickler als Erstes danach, wenn er testet, ob eine Pipeline den Inhalt erhält.
Vom Umkehren zur Analyse
Der Sinn des Umkehrens ist selten der umgekehrte Text selbst; es ist das, was der Vergleich zeigt. Palindrome, Reihenfolgeprüfungen und die Gewohnheit, einen Block rückwärts zu lesen, um das zu sehen, was die Augen überspringen, sind Vergleichsarbeit, und der Textzähler-Guide ist der Ort, wo die Zahlen auf der anderen Seite dieses Vergleichs herkommen, die Wortanzahl, die Zeichenaufteilung und die zehn häufigsten Zeichen des Blocks, wie er geschrieben ist. Umordnen ändert keine davon, was der Wortfrequenz-Zähler auf einen Blick sichtbar macht: Die umgekehrte Zeile und die Originalzeile werden beide auf dieselben sechs Wörter gereinigt, hello, world, how, are, you, today, ein Vorkommnis je, weil Umordnen kein Wort und keine Zählung ändert.