Văn bản

Text Reverse

Đảo ngược văn bản: theo ký tự, theo từ (thứ tự từ) hoặc theo dòng (thứ tự dòng).

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.

Bài viết về công cụ này: Text Reverse: vì sao "đảo ngược văn bản" khó hơn tưởng tượng

Câu hỏi thường gặp

Các chế độ đảo ngược khác nhau là gì?

Có ba chế độ: đảo ngược thứ tự ký tự, đảo ngược thứ tự từ trong khi giữ nguyên từng từ, hoặc đảo ngược thứ tự dòng trong khi giữ nguyên từng dòng.

Tại sao đảo ngược cấp độ ký tự có thể tạo ra kết quả không đọc được?

Đảo ngược văn bản từng ký tự có thể phá vỡ chuỗi Unicode đa byte, emoji hoặc ký tự kết hợp, tạo ra hiển thị bị hỏng về mặt trực quan; đảo ngược cấp độ từ hoặc dòng không gặp vấn đề này vì nó di chuyển toàn bộ khối văn bản.

Văn bản nhập vào có được gửi đến máy chủ không?

Không, việc đảo ngược diễn ra hoàn toàn trong trình duyệt bằng JavaScript, không gửi đến máy chủ.

Cụm grapheme là gì?

Đây là những gì con người cảm nhận là "một ký tự hiển thị duy nhất", dù trong Unicode nó đôi khi được cấu thành từ nhiều điểm mã — ví dụ một emoji gia đình gồm nhiều emoji riêng biệt được nối lại bằng một ký tự nối đặc biệt. Đảo ngược văn bản đúng cách phải giữ những cụm như vậy lại với nhau như một đơn vị duy nhất.

Có thể đảo ngược một emoji sao cho nó vẫn hợp lệ không?

Có, nếu việc đảo ngược chia chuỗi thành các cụm grapheme trước khi đổi thứ tự, thay vì chia thành từng điểm mã riêng lẻ — khi đó các emoji ghép (có bộ điều chỉnh tông màu da, cờ quốc gia) sẽ giữ nguyên vẹn sau thao tác.

Bài viết: Văn bản

Case Converter: vì sao có các kiểu đặt tên khác nhau

Vì sao trong một dự án, biến được viết camelCase nhưng tệp lại kebab-case, và những quy tắc này đến từ đâu.

Text Diff: thuật toán tìm sự khác biệt giữa hai văn bản như thế nào

Thuật toán diff tìm tập hợp thay đổi tối thiểu giữa hai phiên bản văn bản như thế nào.

Biểu thức chính quy: cú pháp cơ bản và các mẫu thường gặp

Cách đọc một biểu thức chính quy, và khớp tham lam khác khớp lười ra sao.

Sắp xếp và loại bỏ dòng trùng lặp: dùng để làm gì

Vì sao sắp xếp theo số đặt "10" trước "9" là một lỗi, và cách tránh điều đó.

String Escape: vì sao cùng một văn bản cần escape khác nhau

Vì sao cùng một dấu ngoặc kép lại được escape khác nhau trong chuỗi JS, JSON và lệnh shell.

CRLF so với LF: vì sao ký tự cuối dòng vẫn còn quan trọng

Vì sao một tệp được viết trên Windows có thể hiển thị là "toàn bộ đã thay đổi" trong git trên Linux.

Đếm ký tự và từ: vì sao không phải lúc nào cũng đơn giản

Vì sao một emoji hoặc chữ có dấu có thể được tính là nhiều ký tự cùng lúc.

Lorem Ipsum: văn bản giữ chỗ đến từ đâu và dùng để làm gì

Vì sao các nhà thiết kế cố tình dùng văn bản "vô nghĩa" thay vì nội dung thật trong bản phác thảo.

Slugify: cách biến bất kỳ văn bản nào thành URL

Một tiêu đề như "Xin chào, Thế giới! Bạn khỏe không?" biến thành chuỗi tương thích URL như xin-chao-the-gioi-ban-khoe-khong ra sao.

Markdown: vì sao cú pháp văn bản đơn giản đánh bại trình soạn thảo phức tạp

Vì sao lập trình viên chọn viết tài liệu bằng Markdown thay vì trình soạn thảo văn bản định dạng phong phú.

Khoảng trắng và ký tự vô hình: nguyên nhân ẩn giấu của các lỗi kỳ lạ

Vì sao hai chuỗi trông giống hệt nhau có thể không khớp do một ký tự vô hình.

Phân tích tần suất văn bản: vì sao cần đếm số lần từ lặp lại

Tần suất chữ cái trong văn bản mã hóa giúp phá vỡ các mật mã thay thế đơn giản nhất như thế nào.