Tekst

Text Reverse

Odwróć tekst: według znaków, według słów (kolejność słów) lub według wierszy (kolejność wierszy).

This tool reverses text three different ways: by character (letters run in reverse order), by word (words swap places but stay intact), or by line (line order is flipped).

How to use it

Common uses

Things to keep in mind

A naive reversal by Unicode code point breaks composite characters (emoji with modifiers, some languages' combining diacritics) — a correct implementation splits text into grapheme clusters rather than individual code points.

Word-mode reversal doesn't change the letter order inside each word — it only rearranges the words themselves, not a character-level reversal.

Artykuł o tym narzędziu: Text Reverse: dlaczego „odwrócenie tekstu" jest trudniejsze, niż się wydaje

Najczęstsze pytania

Jakie są różne tryby odwracania?

Istnieją trzy tryby: odwracanie kolejności znaków, odwracanie kolejności słów przy zachowaniu każdego słowa w całości, lub odwracanie kolejności linii przy zachowaniu każdej linii w całości.

Dlaczego odwracanie na poziomie znaków może dawać nieczytelne wyniki?

Odwracanie tekstu znak po znaku może zepsuć wielobajtowe sekwencje Unicode, emoji lub znaki łączące, tworząc wizualnie zepsuty wygląd; odwracanie na poziomie słów lub linii nie ma tego problemu, ponieważ przenosi całe bloki tekstu.

Czy wprowadzony tekst jest wysyłany na serwer?

Nie, odwracanie odbywa się całkowicie w przeglądarce w JavaScript, bez wysyłania na serwer.

Czym jest klaster grafemów (grapheme cluster)?

To coś, co człowiek postrzega jako „jeden widoczny znak", choć w Unicode czasem składa się z kilku punktów kodowych — np. emoji rodziny to kilka osobnych emoji połączonych specjalnym znakiem-łącznikiem. Poprawne odwrócenie tekstu musi trzymać takie klastry razem jako jedną jednostkę.

Czy można odwrócić emoji tak, by pozostało poprawne?

Tak, jeśli odwracanie dzieli ciąg na klastry grafemów przed zmianą kolejności, a nie na osobne punkty kodowe — wtedy złożone emoji (z modyfikatorami koloru skóry, flagi krajów) pozostają nienaruszone po tej operacji.

Artykuły: Tekst

Case Converter: po co istnieją różne style nazewnictwa

Dlaczego w jednym projekcie zmienne zapisuje się camelCase, a pliki kebab-case, i skąd wzięły się te zasady.

Text Diff: jak algorytmy znajdują różnicę między dwoma tekstami

Jak algorytm diff znajduje minimalny zestaw zmian między dwiema wersjami tekstu.

Wyrażenia regularne: podstawowa składnia i typowe wzorce

Jak czytać wyrażenie regularne i czym dopasowanie zachłanne różni się od leniwego.

Sortowanie i usuwanie duplikatów wierszy: do czego się przydaje

Dlaczego sortowanie numeryczne stawiające „10" przed „9" jest błędem, i jak tego uniknąć.

String Escape: dlaczego ten sam tekst trzeba escapować inaczej

Dlaczego ten sam cudzysłów jest escapowany inaczej w ciągu JS, w JSON i w poleceniu shell.

CRLF kontra LF: dlaczego znaki końca linii wciąż mają znaczenie

Dlaczego plik napisany w Windows może wyglądać jako „cały zmieniony" w gicie na Linuksie.

Liczenie znaków i słów: dlaczego to nie zawsze jest trywialne

Dlaczego emoji lub litera z akcentem może liczyć się jako kilka znaków naraz.

Lorem Ipsum: skąd wziął się tekst zastępczy i po co jest potrzebny

Dlaczego projektanci celowo używają „bezsensownego" tekstu zamiast prawdziwej treści w makietach.

Slugify: jak zamienić dowolny tekst w adres URL

Jak tytuł „Witaj, Świecie! Jak się masz?" zamienia się w kompatybilny z URL ciąg witaj-swiecie-jak-sie-masz.

Markdown: dlaczego prosta składnia tekstowa pokonała rozbudowane edytory

Dlaczego programiści wolą pisać dokumentację w Markdown niż w edytorze tekstu sformatowanego.

Spacje i niewidoczne znaki: ukryta przyczyna dziwnych błędów

Dlaczego dwa pozornie identyczne ciągi znaków mogą się nie zgadzać przez niewidoczny znak.

Analiza częstotliwości tekstu: po co liczyć powtórzenia słów

Jak częstotliwość liter w zaszyfrowanym tekście pomaga złamać najprostsze szyfry podstawieniowe.