Command Palette

Search for a command to run...

Eine Zeichenfolge online umkehren: Wie dieses Tool funktioniert, Emoji und alles

Eine Zeichenfolge online umkehren: Wie dieses Tool funktioniert, Emoji und alles

T
Toolz Team
|Jul 9, 2026|11 min read

Ich habe das String-Reverse-Tool auf toolz.dev ausgeliefert und dachte, es sei das langweiligste, was ich den ganzen Monat gebaut habe. split('').reverse().join('')drohen Was könnte schief gehen. Dann habe ich den Beispieltext eingefügt, den ich geschrieben habe - der, weil ich mich süß fühlte, mit "Unicode: 你 好 世 你" endete und der Ausgang mit den beiden Emoji in verstümmelte Boxen zurückkam. 🌍🚀 wurden \ude80🜍\ud83cdrohen Die chinesischen Schriftzeichen kehrten sich perfekt um. Das Emoji zerschmetterte.

Diese fünfminütige Überraschung ist tatsächlich das Nützlichste, was ich Ihnen über das Umkehren von Saiten beibringen kann. Daher ist dieser ganze Leitfaden darauf aufgebaut. Textumkehrung klingt trivial, und für einfache ASCII ist es das. In dem Moment, in dem Sie Emoji, Flaggen oder bestimmte akzentuierte Zeichen einführen, "umkehren Sie die Zeichenfolge" hört auf, eine offensichtliche Antwort zu haben - und die meisten Werkzeuge, einschließlich dieser, wählen leise die Antwort aus, die sie bricht.

der String Reverse Das Werkzeug macht eines: Es kehrt die Zeichen sofort um, während Sie tippen. Keine Modi zu konfigurieren, keine Anmeldung und Ihr Text verlässt niemals den Browser. Lassen Sie mich Ihnen genau zeigen, was es tut, wo es bricht und wie man Text umkehrt richtig Im realen Code, wenn ein Bruch nicht akzeptabel ist.

tl; dr: Fügen Sie Text in ein String Reverse Und es dreht die Charakterreihenfolge live - Hello wird olleHdrohen Es handelt sich um einen einzelnen Zeichenumkehrmodus (keine separaten Wort- oder Zeilenmodi), es wird während der Eingabe automatisch aktualisiert und Sie können das Ergebnis kopieren oder herunterladen. Es ist perfekt für Palindrome-Checks, schnelle Rätsel und die Überprüfung der Interviewantworten. Heads Up: Wie ein einfaches Javascript split(''), bricht es Emoji und Flags, weil es nach Codeeinheit aufgeteilt wird. Klartext und CJK rückwärts fein. Kombiniere es mit dem Gehäusekonverter oder Wortzähler für schnelle Textarbeit.

Was macht das String-Reverse-Tool eigentlich?

Genau eine Operation: Es kehrt die Reihenfolge der Zeichen um. Der letzte Charakter wird der erste und so weiter.

Eingabe: Hello World Ausgabe: dlroW olleH

Unter der Haube ist die Logik wirklich eine Zeile - dieselbe Zeile, die Sie in einem JavaScript-Interview schreiben würden:

text.split('').reverse().join('')

Es gibt keine "umgekehrten Wörter" oder "umgekehrten Zeilen" -Modus, die sich in einem Menü verbirgt. Frühere Entwürfe dieser Seite beschrieben die Modi für Zeichen, Wort, Satz und Zeilen, das war ehrgeizig, nicht real. Das Werkzeug kehrt die Zeichen um, Punkt. Es wird automatisch aktualisiert, während Sie eingeben, sodass Sie das umgekehrte Ergebnis live sehen und Sie das Zeichen und die Zeilenzahl sowohl der Eingabe als auch der Ausgabe erhalten. Sie können Text einfügen, eine Textdatei hochladen, von einer URL laden, das Ergebnis kopieren oder als Download als .txtdrohen

Wenn Sie ausdrücklich die Wortreihenfolge umkehren (Hello WorldWorld Hello), würden Sie das im Code mit tun split(' ').reverse().join(' ') - Ich werde die Ausschnitte unten zeigen.

Warum brechen Emojis, wenn Sie sie umkehren?

Dies ist der Teil, der es wert ist, verstanden zu werden, da er eine ganze Klasse von Fehlern erklärt.

JavaScript-Strings sind Sequenzen von UTF-16 Codeeinheiten, nicht "Zeichen" im menschlichen Sinne. Die meisten alltäglichen Zeichen - englische Buchstaben, Ziffern, Interpunktion und sogar chinesische, japanische und koreanische Zeichen - passen in eine einzelne 16-Bit-Codeeinheit. so split('') Schnitte zwischen ihnen sauber und Rückfahrwerke:

'你好世界'.split('').reverse().join('')  // → '界世好你'  ✅

Aber Emoji, Flag-Sequenzen und einige Symbole leben außerhalb diese Reichweite und werden als gespeichert Ersatzpaare - Zwei Codeeinheiten, die nur etwas zusammen bedeuten. split('') Sie schneiden sie glücklich in zwei Hälften und das Umkehren mischt die Hälften in Unsinn:

'AB🌍🚀'.split('').reverse().join('')  // → mojibake, the emoji shatter ❌

Das Kombinieren von Markierungen ist die andere Falle. Ein akzentuierter Buchstabe kann auf zwei Arten gespeichert werden: als ein vorkomponierter Codepunkt (é) oder als Basisbuchstabe plus separatem Kombinieren (e + ◌́). Die vorkomponierte Version kehrt gut um. Die zersetzte Version löst den Akzent, der nach der Umkehrung abschwebt und auf dem falschen Buchstaben landet.

Also die ehrliche Regel für dieses Tool: Klartext, Ziffern, Interpunktion und CJK-Umkehrung korrekt; Emoji, Flaggen-Emoji und zersetzte Akzente brechen. Das ist kein Fehler, der nur bei toolz.dev gilt - es ist was split('') tut es überall, und viele "umkehrende Zeichenfolgen" -Sites verhalten sich identisch. Ich habe die naive Version absichtlich an Ort und Stelle belassen, weil sie schnell, transparent ist und dem entspricht, was die meisten Leute meinen, wenn sie "umgekehrt" sagen, aber Sie verdienen es, den Rand zu kennen.

Wie kehre ich eine Zeichenfolge im Code richtig um?

Wenn Sie echten Code und Unicode schreiben, ist hier die Leiter von naiv bis korrigieren.

Level 1 — Naiv (Was das Werkzeug tut): bricht Emoji.

str.split('').reverse().join('')

Stufe 2 — Verteiler-Operator: durch Code iteriert richten, so bleiben die meisten Emojis intakt (Surrogat-Paare bleiben zusammen). Unterbricht immer noch zersetzte Markierungen und Multi-Emoji-Sequenzen wie Flags.

[...str].reverse().join('')

Stufe 3 — Graphem-bewusst: Behandeln Sie jeden "benutzer-wahrgenommenen Charakter" als atomar. Dies ist der wirklich korrekte Ansatz.

const seg = new Intl.Segmenter('en', { granularity: 'grapheme' });
[...seg.segment(str)].map(s => s.segment).reverse().join('');

Intl.Segmenter Verwaltet Emoji, Flags, Hautton-Modifikatoren und das Kombinieren von Marken richtig. Es ist die Version, die ich in der Produktion ausliefern würde, wenn das Umkehren von Benutzertext mit Emoji eine echte Anforderung war.

Hier ist die gleiche Operation über die Sprachen hinweg, für die Praxis und Referenz:

# Python — [::-1] works by code point, similar to JS spread
reversed_str = original[::-1]
words_reversed = ' '.join(original.split()[::-1])
// Java — StringBuilder.reverse() is code-unit based (same emoji caveat)
String reversed = new StringBuilder(original).reverse().toString();
// Go — []rune iterates by code point, safer than byte reversal
runes := []rune(original)
for i, j := 0, len(runes)-1; i < j; i, j = i+1, j-1 {
    runes[i], runes[j] = runes[j], runes[i]
}
reversed := string(runes)
// PHP — strrev() is byte-based and mangles any multi-byte UTF-8
$reversed = strrev($original);          // breaks UTF-8

Beachten Sie das Muster: Fast jede Sprache ist "offensichtlich" rückwärts codiert oder bytebasiert und teilt die gleiche Unicode-Schwäche. Das Erreichen der Option Grapheme-aware ist die Ausnahme, nicht die Standardeinstellung.

Wofür ist die Umkehrung der Saiten eigentlich gut?

Abgesehen von der Aufwärmung des kanonischen Interviews verdient es an einigen Stellen seine Unterbrechung.

Palindrom-Checks. Reverse die Zeichenfolge und vergleiche sie mit dem Original - wenn sie übereinstimmen, ist es ein Palindrome. prüfen racecar, level, oder 12321 Im Werkzeug und beobachten Sie die Ausgabe wieder identisch. Für Phrasen-Palpindrome wie "Ein Mann ein Plan ein Kanal Panama", Streifen und Fall zuerst.

Überprüfen Sie Ihren eigenen Code. Wenn Sie Probleme mit der Umkehrung von Leetcode-Stils schleifen, fügen Sie Ihre erwartete Ausgabe in das Tool ein, um es in einer Sekunde zu überprüfen. Es ist ein schnelles Orakel für den Fall der Zeichenumkehr.

Schnelle Rätsel und verspielter Text. Rückwärtsnachrichten, Wortspiele, spiegelverkehrte soziale Beiträge - Niedrige Einsätze und Umkehrungen sind eine eigene Inverse, sodass Sie durch zweimaliges Umkehren das Original zurückgeben. Diese Eigenschaft ist praktisch für Tests: Rückwärts, erneut umkehren, bestätigen Sie, dass Sie zu Hause sind.

Eine Sache zu nicht Verwenden Sie es für: Sicherheit. Umkehrung ist ein Party-Trick, keine Verschlüsselung - sie ist trivial rückgängig gemacht. Es wird in Anfänger-Tutorials "Verschleierung" angezeigt, aber niemals umgekehrten Text als geschützt behandeln.

Umkehrtyp Beispiel im Werkzeug? Code-Snippet
Schriftzeichen abccba Ja (der einzige Modus) [...s].reverse().join('')
Worte a b cc b a Nein - mach es im Code s.split(' ').reverse().join(' ')
Zeile Linienreihenfolge umgedreht Nein - mach es im Code s.split('\n').reverse().join('\n')
Graphem-sicher Emoji bleibt intakt Nein – braucht intl.segmenter Siehe Level 3 oben

Der Zwei-Zeiger-Ansatz, wenn Sie sich auf Interviews vorbereiten

Der Grund, warum Interviewer diese Frage lieben, ist, dass die elegante Antwort überhaupt keine eingebaute Umkehrung verwendet. Sie gehen zwei Zeiger aufeinander zu und tauschen:

Original:  H E L L O
           i       j        swap H and O
           O E L L H
             i   j          swap E and L
           O L L E H
               ij           pointers meet — done

Es läuft in O (n) -Zeit und wird an Ort und Stelle auf einem veränderlichen Array ausgeführt, O (1) zusätzlicher Speicherplatz. In Javascript-Strings sind unveränderlich, so dass Sie nicht buchstäblich tauschen können, aber die Zwei-Zeiger-Logik ist das, was sie überprüfen, was Sie verstehen. Die rekursive Version – reverse(s) = last char + reverse(rest) - ist hübscher, verwendet aber den O (n) -Stapelplatz, der im Interview laut erwähnenswert ist.

Und denken Sie an die Eigenschaft, die das Testen trivial macht: Umkehrung ist eine eigene Inverse. Wende eine Zeichenfolge zweimal um und du bist wieder da, wo du angefangen hast. Wenn ich einen Umkehrcode teste, ist dies die Behauptung Nummer eins: reverse(reverse(x)) === x Für eine Reihe von Eingaben, einschließlich - insbesondere - Emoji, fängt der Test tatsächlich den Ersatzpaar-Fehler auf, anstatt ihn zu verbergen.

Häufig gestellte Fragen

Unterstützt das String Reverse Tool das Wort oder die Zeilenumkehr?

kein drohen Es hat einen einzigen Modus, der Zeichen umkehrt. Es gibt keine separate Wortreihenfolge oder Zeilenreihenfolge. Wenn Sie die Reihenfolge der Wörter oder Zeilen rückgängig machen müssen, tun Sie dies im Code mit split(' ') oder split('\n') gefolgt von .reverse().join(...)drohen

Warum kommen Emojis nach der Umkehrung verstümmelt heraus?

Weil das Tool von UTF-16-Code-Einheit umkehrt, wie Javascript split('')drohen Emoji- und Flag-Sequenzen werden als Ersatzpaare gespeichert - zwei Codeeinheiten, die nur zusammen sinnvoll sind - und das Umkehren teilt sie auseinander. Nur Text und CJK-Zeichen sind Einzelcodeeinheiten, also umgekehrt.

Behandelt es Unicode und CJK-Text?

zum Teil. Chinesische, japanische, koreanische, kyrillische und vorkomponierte Zeichen mit Akzent werden korrekt umkehrt, da es sich jeweils um eine einzelne Codeeinheit handelt. Emoji, Flaggen-Emoji und zersetzte Kombinationsmarkierungen brechen. Verwenden Sie für die vollständige korrekte Handhabung Ihres eigenen Codes Intl.Segmenter Mit Graphemgranularität.

Wird mein Text an einen Server gesendet?

kein . Die Umkehrung erfolgt lokal in Ihrem Browser während der Eingabe — der Text wird nie hochgeladen. Das macht es sicher für das Umkehren sensibler oder privater Zeichenfolgen.

Wie überprüfe ich, ob ein Wort ein Palindrom ist?

kehre es mit dem um String Reverse Tool und vergleichen Sie mit dem Original. Wenn sie identisch sind, ist es ein Palindrom. Entfernen Sie Leerzeichen, Interpunktion und Fallunterschiede vor dem Vergleich - "Ein Mann ein Plan ein Kanal-Panama" ist erst nach der Normalisierung ein Palindrom.

Kann es sehr langer Text verarbeiten?

Ja. Da es in Ihrem Browser läuft, ist die praktische Grenze der Speicher Ihres Geräts, der bequem Millionen von Zeichen abdeckt. Es wird live während der Eingabe umgedreht, so dass sich extrem große Pasten möglicherweise etwas weniger sofort anfühlen, aber es gibt keinen Server-Roundtrip.

Warum ist das Umkehren einer Zeichenfolge eine so häufige Interviewfrage?

Es enthält viele Grundlagen in einem kleinen Problem: Array- und String-Manipulation, die Zwei-Zeiger-Technik, Kompromisse im Vergleich zu Kopien, Rekursion und - wenn der Interviewer scharf ist - Unicode-Edge-Fälle. Es ist einfach zu starten und hat genug Tiefe, um eine schnelle Antwort von einer gründlichen zu trennen.

Verwandte Werkzeuge:

Frequently Asked Questions

No. It has a single mode that reverses characters. There's no separate word-order or line-order mode. If you need to reverse the order of words or lines, do it in code with split(' ') or split('\n') followed by .reverse().join(...).

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!