Invertor de Text: Inversează Textul și Schimbă Caracterele Instant
Instrument online gratuit de inversare a textului pentru a inversa orice șir de caractere instant. Schimbă caracterele, verifică palindromurile și creează text invers. Funcționează cu Unicode, emoji și toate limbile.
Instrument de Inversare Text
Introduceți sau lipiți orice text mai jos pentru a inversa instantaneu ordinea caracterelor. Vedeți rezultatele în timp real pe măsură ce tastați.
Documentație
Ce este un instrument de inversare a textului?
Un instrument de inversare a textului este un instrument care inversează ordinea caracterelor dintr-un text. Tastarea „hello” produce „olleh”. Acesta funcționează scriind fiecare caracter al textului introdus în ordine inversă, de la ultimul la primul. Este folosit pentru a crea text inversat, pentru a verifica dacă un cuvânt este palindrom sau pentru a studia modul în care funcționează inversarea șirurilor de caractere în programare.
Cum se utilizează inversorul de text
- Introduceți sau lipiți textul în caseta de introducere.
- Textul inversat apare dedesubt imediat ce opriți tastarea. Nu este necesar să apăsați niciun buton.
- Apăsați butonul de copiere pentru a copia rezultatul.
Butonul de resetare șterge atât textul introdus, cât și rezultatul. Instrumentul acceptă cel mult 10.000 de caractere; pentru un text mai lung este afișat un mesaj de eroare care solicită scurtarea textului. Numărătoarea se face în caractere vizibile, astfel încât un emoji este numărat ca un singur caracter, chiar dacă un computer îl stochează ca mai multe componente.
Formula inversării textului
Pentru un șir de lungime n alcătuit din caracterele , șirul inversat este:
Cu alte cuvinte: ultimul caracter devine primul, penultimul devine al doilea și așa mai departe, până când primul caracter devine ultimul.
Cum funcționează algoritmul, pas cu pas
- Începeți cu un rezultat gol.
- Luați ultimul caracter al textului introdus și adăugați-l la rezultat.
- Luați penultimul caracter și adăugați-l.
- Repetați până când toate caracterele au fost adăugate, în ordine inversă.
Majoritatea instrumentelor de inversare operează asupra caracterelor individuale ale computerului. Acest instrument grupează însă fiecare emoji, steag și literă cu diacritică într-o singură unitate înainte de inversare, folosind o metodă numită segmentarea clusterelor de grafeme. Secțiunea de mai jos explică de ce este important acest lucru.
Exemplu de calcul
Intrare: Hello, World!
Inversat: !dlroW ,olleH
Fiecare caracter, inclusiv virgula, spațiul și semnul exclamării, își păstrează identitatea. Se schimbă doar ordinea.
Gestionarea emojiurilor, diacriticelor și a altor caractere Unicode
Computerele stochează adesea un singur caracter vizibil, cum ar fi un emoji sau o literă cu diacritică, ca mai mult de o unitate mică numită punct de cod. O metodă de inversare care răstoarnă aceste unități una câte una, fără să țină cont de care aparțin împreună, poate descompune un caracter.
De exemplu, „Hello 👍” conține un emoji cu degetul mare ridicat, construit dintr-o pereche de unități ascunse. O inversare de bază la nivel de unitate poate separa acea pereche și poate produce simboluri deteriorate în locul emojiului. Acest instrument evită problema tratând fiecare emoji, steag și literă cu diacritică drept o singură unitate, astfel încât „Hello 👍” devine corect „👍 olleH”. Un emoji cu steag, construit din două simboluri ascunse care reprezintă un cod de țară, este de asemenea păstrat intact: „🇺🇸 USA” este inversat ca „ASU 🇺🇸”, nu prin separarea steagului.
Utilizări frecvente
- Verificarea palindroamelor: un palindrom se citește la fel de la stânga la dreapta și de la dreapta la stânga, precum „racecar”. Compararea unui cuvânt cu forma sa inversată este o modalitate de a verifica acest lucru.
- Învățarea programării: inversarea unui șir de caractere este un exercițiu frecvent pentru a exersa buclele, tablourile și stivele.
- Jocuri de cuvinte și puzzle-uri: cuvintele inversate sunt folosite pentru a ascunde mesaje în puzzle-uri și camere de evadare.
- Efecte de design: unii designeri inversează textul pentru logo-uri în oglindă sau efecte vizuale.
- Depanare: compararea textului în ordine normală cu cel inversat poate ajuta la identificarea anumitor erori de date.
Inversarea caracterelor și inversarea cuvintelor
Aceste două operații sunt adesea confundate.
- Inversarea caracterelor (ce face acest instrument): fiecare caracter este inversat. "Hello World" devine "dlroW olleH".
- Inversarea cuvintelor: fiecare cuvânt rămâne intact, dar ordinea cuvintelor se schimbă. "Hello World" devine "World Hello".
O scurtă istorie
Scrierea inversată și scrierea în oglindă preced calculatoarele cu mii de ani. Unele inscripții grecești antice foloseau un stil numit boustrophedon, în care rândurile alternau direcția, de la stânga la dreapta și apoi de la dreapta la stânga, asemenea modului în care un bou ară un câmp. Leonardo da Vinci și-a scris o mare parte din caiete în scriere în oglindă, lizibilă doar atunci când era ținută în fața unei oglinzi; istoricii încă dezbat dacă făcea acest lucru din motive de secret, pentru confort, fiind stângaci, sau pentru a împiedica întinderea cernelii.
În informatică, inversarea unui șir de caractere este un exercițiu standard de programare încă din primele zile ale informaticii. Este folosită adesea pentru a explica funcționarea stivelor și a tablourilor, deoarece introducerea caracterelor într-o stivă și scoaterea lor de acolo le inversează automat ordinea.
Cum se inversează textul în cod
Majoritatea limbajelor de programare includ o metodă încorporată sau simplă pentru inversarea unui șir de caractere:
1text = "Hello, World!"
2print(text[::-1]) # !dlroW ,olleH
31const text = "Hello, World!";
2console.log([...text].reverse().join('')); // !dlroW ,olleH
3Ambele exemple inversează corect textul pentru litere și cifre obișnuite și pentru emojiuri formate dintr-o singură unitate, precum 🌍. Totuși, ele pot separa un caracter alcătuit din mai multe unități ascunse, cum ar fi unele emojiuri cu steag, literele cu diacritice introduse printr-un semn diacritic separat sau emojiurile de familie unite cu caractere speciale de legătură. Inversarea completă sigură pentru grafeme, metoda folosită de acest instrument, necesită o funcție dedicată, precum Intl.Segmenter din JavaScript.
Performanță
Inversarea textului necesită timp liniar: algoritmul examinează fiecare caracter exact o dată, astfel încât dublarea textului introdus dublează aproximativ volumul de lucru. Pentru textul obișnuit, de la un singur cuvânt la mai multe pagini, rezultatul apare practic instantaneu. Fișierele foarte mari, de ordinul megabytes sau mai mari, sunt gestionate mai bine de programe specializate care procesează datele în flux, în loc să le încarce integral în memorie.
Întrebări frecvente
Cum inversez textul online?
Lipiți sau introduceți textul în caseta de mai sus. Textul inversat apare automat imediat ce opriți tastarea. Folosiți butonul de copiere pentru a copia rezultatul.
Există o lungime maximă a textului?
Da. Instrumentul acceptă cel mult 10.000 de caractere. Pentru un text mai lung este afișat un mesaj de eroare în locul rezultatului. Caracterele sunt numărate așa cum apar pe ecran, astfel încât un emoji sau o literă cu diacritică este considerat(ă) un singur caracter, nu două.
Inversează acest instrument cuvintele sau doar caracterele?
Inversează caracterele individuale, nu ordinea cuvintelor. "Hello World" devine "dlroW olleH", nu "World Hello".
Poate gestiona emojiuri și texte în alte limbi?
Da. Instrumentul tratează emojiurile, steagurile și literele cu diacritice ca unități singulare, astfel încât acestea rămân intacte după inversare. Funcționează și cu orice sistem de scriere, inclusiv cu texte în chineză, arabă și chirilică.
Dacă inversez textul de două ori, obțin textul original?
Da. Inversarea unui șir deja inversat restabilește textul original. Această proprietate se numește involuție.
Este textul inversat util pentru criptare?
Nu. Inversarea caracterelor nu este sigură. Ea doar ascunde vizual textul, iar oricine îl inversează din nou îl poate citi.
Referințe
- Consorțiul Unicode. Unicode Standard Annex #29: Segmentarea textului Unicode.
- Cormen, T. H., Leiserson, C. E., Rivest, R. L. și Stein, C. (2009). Introducere în algoritmi (ediția 3). MIT Press.
- MDN Web Docs. Intl.Segmenter. Mozilla Developer Network.