Chuyển mã Unicode

Mã Hóa & Giải Mã Unicode

Chuyển đổi văn bản sang \uXXXX, U+XXXX, HTML entity, UTF-8 hex và ngược lại. Tức thì, miễn phí, riêng tư.

4 định dạngTức thìMiễn phíMọi ngôn ngữ
Dinh dang
Van ban goc
Ket qua ma hoa
Ket qua se hien thi o day...

Bang tra cuu Unicode

Ky tuU+\uHTMLUTF-8Mo ta
AU+0041\u0041A41Chữ A viết hoa
éU+00E9\u00E9éC3 A9Chữ e có dấu sắc
ăU+0103\u0103ăC4 83Chữ a ngắn (tiếng Việt)
U+4E16\u4E16世E4 B8 96Ký tự CJK (thế giới)
U+2764\u2764❤E2 9D A4Trái tim đỏ
😀U+1F600\u{1F600}😀F0 9F 98 80Emoji mặt cười
 U+00A0\u00A0 C2 A0Khoảng trắng cố định
U+200B\u200B​E2 80 8BKhoảng trắng zero-width

Doan ma mau

JavaScriptEncode to \uXXXX
const encode = (str) => [...str] .map(c => { const cp = c.codePointAt(0); return cp > 0xFFFF ? `\\u{${cp.toString(16)}}` : `\\u${cp.toString(16).padStart(4,'0')}`; }).join('');
PythonEncode / Decode
# Encode "Hello".encode('unicode_escape') # b'\\u0048\\u0065\\u006c\\u006c\\u006f' # Decode b'\\u0048ello'.decode('unicode_escape')
HTMLHTML Entities
<!-- Named entity --> &amp;hearts; &rarr; ♥ <!-- Numeric hex entity --> &amp;#x2764; &rarr; ❤ <!-- Numeric decimal --> &amp;#10084; &rarr; ❤

Pham vi Unicode pho bien

\u0000–\u007F
Basic Latin

Chữ ASCII, chữ số, dấu câu (1 byte UTF-8)

\u0080–\u07FF
Extended Latin / Greek / Cyrillic

Chữ có dấu, tiếng Việt, Hy Lạp, Cyrillic (2 byte)

\u0800–\uFFFF
CJK / BMP Symbols

Hán tự, tiếng Nhật, Hàn, hầu hết ký hiệu (3 byte)

\u{10000}+
Supplementary Planes

Emoji, chữ cổ, ký hiệu hiếm (4 byte)

Unicode la gi?

Unicode la tieu chuan ma hoa ky tu quoc te, gan cho moi ky tu mot ma so duy nhat (code point). Tu chu Latin co ban den emoji, chu Han, tieng Viet co dau, va tat ca he thong chu viet tren the gioi deu duoc Unicode dinh nghia. Phien ban Unicode 15.1 bao gom hon 149,000 ky tu tu 161 he thong chu viet.

Khi lam viec voi du lieu quoc te, ban thuong can chuyen doi giua van ban binh thuong va cac dang ma hoa nhu \uXXXX (JavaScript), U+XXXX (tieu chuan Unicode), &#xHHHH; (HTML entity), hoac UTF-8 hex bytes.

Cac dinh dang ma hoa

1. JavaScript Escape (\uXXXX)

Dung trong ma nguon JavaScript va chuoi JSON. Moi ky tu trong Basic Multilingual Plane (BMP) duoc bieu dien bang \uXXXX voi 4 ky tu hex. Ky tu ngoai BMP (nhu emoji) dung cu phap \u{XXXXX} voi 5-6 ky tu hex.

2. U+XXXX (Standard Notation)

Day la ky hieu chuan de tham chieu code point Unicode. Duoc dung rong rai trong tai lieu ky thuat, bang ma ky tu, va thao luan ve Unicode. Khong phai cu phap lap trinh ma la quy uoc ghi chep.

3. HTML Entities (&#xHHHH;)

Dung trong HTML va XML de nhung ky tu dac biet ma khong can thay doi encoding cua file. Entity dang hex &#xHHHH; hoac dang decimal &#DDDD; deu hop le. Dac biet huu ich khi lam viec voi noi dung da ngon ngu tren web.

4. UTF-8 Hex Bytes

Hien thi cach ma ky tu duoc luu tru thuc te trong bo nho va file. UTF-8 dung 1-4 byte cho moi ky tu: ASCII dung 1 byte, tieng Viet co dau dung 2-3 byte, va emoji dung 4 byte. Hieu UTF-8 giup debug cac van de encoding nhu mojibake (ky tu loan).

Khi nao can chuyen doi Unicode?

  • Nhung ky tu dac biet vao chuoi JSON ma khong bi loi parser.
  • Giai ma chuoi escape tu API response hoac file log.
  • Tao HTML entity de hien thi an toan tren web page.
  • Debug van de encoding bang cach xem UTF-8 byte cua tung ky tu.
  • Tim code point cua ky tu bat ky, bao gom emoji va chu co dau.
  • Chuan bi noi dung da ngon ngu voi escape sequence dung chuan.

Meo xu ly Unicode trong lap trinh

  • Luon dung [...str].length thay vi str.length trong JavaScript de dem dung ky tu (vi surrogate pairs).
  • Dung String.fromCodePoint() thay vi String.fromCharCode() cho ky tu ngoai BMP.
  • Trong Python 3, tat ca string deu la Unicode — dung .encode() de chuyen sang bytes.
  • Khi lam viec voi database, dam bao collation ho tro Unicode day du (VD: utf8mb4 trong MySQL).
  • Header HTTP Content-Type: text/html; charset=utf-8 dam bao trinh duyet hieu dung encoding.

Cau hoi thuong gap

Cong cu van ban khac

Hidden Character Detector — Find Invisible Unicode Chars in Text

Detect and remove invisible Unicode characters in text: zero-width spaces (ZWSP), joiners (ZWNJ/ZWJ), byte order marks (BOM), RTL/LTR overrides, soft hyphens, non-breaking spaces, and 20+ hidden character types. Each type is color-highlighted with a label, codepoint, and risk level. Free, instant, private — no data leaves your browser.

Case Converter — UPPERCASE lowercase Title camelCase snake_case kebab-case

Convert text between 11 case formats: UPPERCASE, lowercase, Title Case, camelCase, PascalCase, snake_case, kebab-case, and more. Instant copy, free, no signup.

Find and Replace Text Online — Regex Search Replace Tool

Find and replace text online with regex support, case-sensitive matching, whole-word search, and highlighted matches. See match count and replace all or one at a time. Free browser-based tool for writers, developers, and data analysts.

HTML Entity Encoder and Decoder — Escape HTML Characters Online

Encode special characters to HTML entities or decode entities back to text. Prevent XSS attacks and display code safely. Free, instant, browser-based.

Base64 Encoder and Decoder — Encode & Decode Text Online

Encode text to Base64 or decode Base64 strings back to text instantly. Supports full UTF-8 for international characters and emoji. Free, private, runs entirely in your browser.

Giới thiệu về Text Tools

Công cụ văn bản xử lý công việc hàng ngày với chuỗi, đoạn văn và tài liệu: đếm từ, đảo ngược ký tự, chuyển đổi case, tạo slug, tách văn bản dài, xem trước Markdown. Những công cụ này thay thế các app desktop riêng biệt và lệnh CLI phức tạp bằng một URL bạn có thể bookmark và dùng không cần setup.

Vì sao nó quan trọng

Người viết, biên tập viên và đội content làm việc với giới hạn text khắp nơi — giới hạn 280 ký tự của Twitter, post LinkedIn 1.300 ký tự tối ưu, abstract học thuật 250 từ, meta description SEO giới hạn 155. Một word counter hiển thị ký tự (có và không dấu cách), từ, câu, đoạn và thời gian đọc cho phép bạn đạt yêu cầu nền tảng mà không chuyển đổi công cụ.

Riêng tư và an toàn

Công cụ text xử lý input hoàn toàn trong trình duyệt. Bản draft blog, hợp đồng pháp lý hay email bảo mật của bạn không bao giờ rời khỏi thiết bị. Ngay cả word counter cũng không truyền text của bạn — nó chạy một hàm đếm đơn giản cục bộ, và thực sự đó là tất cả những gì cần. Nếu một công cụ text tuyên bố 'xử lý' text của bạn trên server của họ, phạm vi rò rỉ dữ liệu rất lớn và hiếm khi được biện minh.

Thực hành tốt

  • Cho SEO title, nhắm 50-60 ký tự bao gồm dấu cách (Google cắt title dài hơn)
  • Meta description hoạt động tốt nhất ở 150-155 ký tự — Google hiển thị ~160 trên desktop, ~120 trên mobile
  • Khi tạo slug, giữ ngắn (3-5 từ), toàn chữ thường, dấu gạch ngang không phải gạch dưới, tránh stop word
  • Markdown preview hữu ích TRƯỚC khi đăng để xác minh heading, link, danh sách render đúng trên nền tảng đích