Bảng tra cứu escape \n \t \u | Cheat sheet nhanh cho lập trình viên

(Cập nhật: 19 tháng 7, 2026 ) escape sequence \n \t \u cheat sheet string tra cứu
Kết luận

Giữ một bảng \n \t \u trong đầu (hoặc bookmark bài này) nhanh hơn google mỗi lần viết string. \n = xuống dòng, \t = tab, \\ = một backslash thật, \uXXXX = Unicode. Cần chuyển nhanh giữa “xuống dòng thật” và chữ \n trên một dòng → Escape Sequence (trình duyệt, không upload). Cần debug JSON / path Windows / double-escape → đọc bài debug sâu.

Bạn đang viết message lỗi tiếng Việt nhiều dòng, hoặc paste log vào ticket Jira. Đột nhiên cần nhớ: tab là \t hay \b? NBSP viết \u thế nào? Bài này là cheat sheet tra cứu nhanh — không đi sâu serializer JSON hay C:\\Users\\... (đã có bài riêng). Mục tiêu: mở tab, nhìn bảng, copy ví dụ, xong trong vài phút.

Khi nào mở bài này

  • Viết literal string / template có xuống dòng, tab, dấu ngoặc
  • Đọc tài liệu API ghi \r\n mà quên nghĩa
  • Copy text từ Docs và nghi “space giả”
  • Chuẩn bị input cho unit test một dòng

Không thay: bài Escape sequence — debug JSON, log, Windows khi bạn đang thấy chữ \n trên UI hoặc path backslash nổ trong JSON.


Bảng tra cứu chính

Escape thường dùng
Viết trong code Tên / code point Ghi nhớ nhanh
\n Newline / LF / U+000A Xuống dòng Unix & hầu hết API hiện đại
\r Carriage return / CR / U+000D Ít dùng một mình; hay đi với Windows
\r\n CRLF Xuống dòng Windows cổ điển (file text, một số protocol)
\t Horizontal tab / U+0009 Tab — cột TSV, indent cũ
\\ Backslash Một ký tự \ thật trong chuỗi
\" Double quote Ngoặc kép trong string dùng "..."
\' Single quote Trong string dùng '...'
\0 NUL Ký tự null — cẩn thận với C API / binary
\b Backspace Hiếm trong web app — đừng nhầm với \t
\f Form feed Hiếm; gặp trong một số dump PDF/text cũ
\v Vertical tab Rất hiếm trong frontend
\uXXXX Unicode 4 hex Ví dụ \u00A0 = NBSP
\u{XXXXX} Unicode code point (ES6+) Emoji / ngoài BMP: \u{1F600}
\xHH Byte hex (nhiều ngôn ngữ) \x0A ≈ newline trong JS/Python string

Ví dụ copy nhanh (JavaScript)

const lines = "Dòng 1\nDòng 2";     // có newline thật giữa hai câu
const cols = "a\tb\tc";            // tab giữa cột
const pathHint = "C:\\\\temp\\\\a"; // hai tầng \\ → một \ trên từng cấp (xem bài Windows nếu JSON)
const nbsp = "A\u00A0B";           // A + NBSP + B — length 3, không phải space thường
const smile = "\u{1F600}";         // 😀

Ví dụ Python

s = "Dòng 1\nDòng 2"
tab = "a\tb"
# Raw string: r"\n" là hai ký tự \ và n — không xuống dòng
raw = r"\n"
assert raw == "\\n"

Ví dụ C# (thường gặp ở team outsource .NET)

var multi = "Dòng 1\nDòng 2";
var verbatim = @"C:\temp\a"; // verbatim: backslash ít cần escape
var unicode = "A\u00A0B";

Hai chiều: Escape vs Unescape

Hiểu đúng chiều trước khi bấm tool:

HướngInputOutputDùng khi
EscapeText có xuống dòng/tab thậtMột dòng chứa \n, \tNhét vào JSON mẫu thủ công, ghi chú ticket một dòng, sinh literal
UnescapeChuỗi có chữ \n \tXuống dòng/tab thậtĐọc message đã escape, xem lại nội dung dễ đọc

Trên công cụ Escape Sequence:

  1. Dán đoạn text (có thể là log ngắn — tránh secret)
  2. Bấm Mã hóa (Escape) hoặc Giải mã (Unescape)
  3. Sao chép kết quả

Chạy local trên trình duyệt — phù hợp thử nhanh trước khi dán vào test.


Unicode hay gặp khi làm tiếng Việt / văn phòng

Không phải lúc nào cũng \n. Copy từ Word, Slack, PDF sang code hay mang “rác”:

\\u hay gặp
Escape Ký tự Triệu chứng
\u00A0 NBSP trim() không hết; split theo space sai
\u200B Zero-width space Chuỗi trông giống nhau nhưng === false
\uFEFF BOM File UTF-8 có BOM — JSON parse lỗi ký tự đầu
\u201C / \u201D “ ” cong Copy từ Docs — không phải " ASCII
\u2026 Ellipsis một ký tự, khác ... ba dấu chấm

Mẹo: nghi space giả → Escape đoạn text trên tool hoặc log charCodeAt / codePointAt từng vị trí. Thấy 160 (0xA0) thay vì 32 là NBSP.


Phân biệt nhẹ với HTML và URL (đừng nhầm tool)

LoạiVí dụTool / ngữ cảnh
Escape string (\n)"a\nb"Bài này + Escape Sequence
Escape HTML<div>HTML escape — chống XSS khi innerHTML
Encode URL%20, %C3%A1URL encode — query/path

Cùng chữ “escape” nhưng ba lớp khác nhau. Dùng nhầm HTML escape cho newline trong JSON sẽ không ra \n.


Mini cheat theo ngôn ngữ (chỉ khác biệt hay quên)

Khác biệt nhỏ giữa ngôn ngữ
Chủ đề JS / TS Python / ghi chú
Newline trong literal "a\nb" hoặc template ` a\nb ` "a\nb" / '''...''' nhiều dòng
Raw string Không có r"..." chuẩn — dùng String.raw r"\n" = litereal backslash+n
Unicode dài \u{1F600} \U0001F600 hoặc \N{...}
Hex byte \x0A \x0a trong bytes/str tùy ngữ cảnh

Cần bảng JSON wire / \\\\ trong path Windows → không mở rộng ở đây; xem bài debug sâu.


Case study: viết assert một dòng

Bạn muốn unit test message:

Thanh toán thất bại
Vui lòng thử lại

Trong test runner thích một dòng:

expect(msg).toBe("Thanh toán thất bại\nVui lòng thử lại");

Cách làm nhanh:

  1. Gõ hai dòng trong editor
  2. Dán vào Escape Sequence → Escape
  3. Copy chuỗi có \n vào toBe(...)

Ngược lại: QA gửi "Thanh toán thất bại\nVui lòng thử lại" trong Excel một ô — Unescape để xem đúng hai dòng trước khi log bug.


Checklist 30 giây trước khi commit string

  • Xuống dòng cố ý → \n (hoặc template nhiều dòng), không paste NBSP từ Docs
  • Cần tab cột → \t, không lẫn \b
  • Một backslash thật trong path string → nhớ \\ trong literal thường
  • Emoji / ký tự lạ → \u{...} hoặc paste UTF-8 thẳng nếu team cho phép
  • Chỉ cần đổi chiều hiển thị → tool Escape/Unescape local
  • Thấy \n trên UI hoặc JSON lỗi path → chuyển bài debug sâu

Tóm tắt

Bảng trên đủ cho 90% lần viết \n \t \u hàng ngày. Bookmark bài này như cheat sheet; dùng tool escape sequence khi cần đổi chiều nhanh; mở debug JSON/Windows khi bug nằm ở lớp serializer.

Liên kết liên quan