Lịch sử bảng mã Unicode

Chào bạn, tôi là Lê Thành An. Bài viết này chúng ta cùng nghiên cứu sâu vào Lịch sử ra đời, các giai đoạn phát triển của trước khi thống nhất chung duy nhất một bảng mã Unicode - Ý nghĩa của sự phát triển Unicode đối với Việt Nam hiện nay nhé.

I. Giai đoạn tiền Unicode: Sự hỗn loạn của các bảng mã (Trước 1987)

Vấn đề căn bản

Trước khi có Unicode, tồn tại hàng trăm hệ thống mã hóa ký tự khác nhau và không tương thích. Mỗi quốc gia, mỗi hãng sản xuất máy tính đều phát triển bảng mã riêng của mình:

  • ASCII (American Standard Code for Information Interchange): Chỉ hỗ trợ 128 ký tự tiếng Anh
  • EBCDIC của IBM
  • Shift-JIS cho tiếng Nhật
  • Big5 cho tiếng Trung phồn thể
  • KOI8-R cho tiếng Nga

Hậu quả thực tế

Việc trao đổi dữ liệu giữa các hệ thống dẫn đến hiện tượng mojibake (文字化け) - ký tự bị hiển thị sai hoàn toàn. Ví dụ: văn bản tiếng Nhật gửi từ máy tính A có thể hiển thị thành ký tự rác trên máy tính B.

Tình hình tại Việt Nam

Việt Nam cũng không ngoại lệ với các bảng mã:

  • TCVN-5773 (bảng mã chuẩn của Việt Nam)
  • VNI-Windows (phổ biến trong dân gian)
  • VISCII (Vietnamese Standard Code for Information Interchange)
  • VPS và nhiều chuẩn khác

Một file văn bản tiếng Việt mã hóa bằng VNI khi mở bằng TCVN sẽ hiển thị hoàn toàn sai.

Nỗ lực của ISO

ISO (International Organization for Standardization) đã cố gắng tạo ra các bảng mã đa ngôn ngữ như ISO 8859-1 (Latin-1) cho các ngôn ngữ Tây Âu, nhưng vẫn không thể giải quyết được vấn đề toàn cầu.

Tổ chức Tiêu chuẩn hóa Quốc tế ISO được thành lập vào ngày 23 tháng 2 năm 1947.

II. Sự ra đời của ý tưởng Unicode (1987-1991)

Khởi xướng dự án

Vào năm 1987, ba kỹ sư tiên phong đã bắt đầu dự án phát triển một bảng mã ký tự toàn cầu:

Mục tiêu cốt lõi

Tạo ra một hệ thống mã hóa với ba đặc điểm:

  • Unique (Duy nhất): Mỗi ký tự có một mã duy nhất
  • Unified (Thống nhất): Một tiêu chuẩn cho tất cả
  • Universal (Phổ quát): Bao trùm mọi ngôn ngữ trên thế giới

Đề xuất ban đầu

Ý tưởng đầu tiên tập trung vào mã hóa 16-bit cố định, cho phép mã hóa khoảng 65,536 ký tự (2^16), được cho là đủ cho các ngôn ngữ hiện đại phổ biến.

Tài liệu nền tảng

Joe Becker công bố bản dự thảo đề xuất đầu tiên vào tháng 8/1988 với tên gọi "Unicode" - kết hợp từ "unique", "unified" và "code". Xem bản công bố tại https://www.unicode.org/history/unicode88.pdf

III. Thành lập Hiệp hội Unicode và các phiên bản đầu tiên (1991-1996)

Thành lập tổ chức chính thức

Unicode Consortium được thành lập tại California vào ngày 3 tháng 1 năm 1991 với các thành viên sáng lập bao gồm: Apple, IBM, Microsoft, Sun Microsystems, Xerox, và nhiều công ty công nghệ khác.

Phát hành Unicode 1.0

Tháng 10/1991: Phiên bản đầu tiên của Unicode Standard 1.0 chính thức được công bố, bao gồm 28,327 ký tự từ 24 hệ thống chữ viết khác nhau.

Áp dụng thực tế đầu tiên

  • Năm 1993: Windows NT 3.1 trở thành hệ điều hành đầu tiên sử dụng Unicode (UTF-16) thay thế hoàn toàn ASCII
  • Microsoft và Aldus hỗ trợ phân phối bản nháp xem xét cuối cùng trước khi chính thức phát hành

Hợp tác với ISO

Một bước ngoặt quan trọng: Năm 1991 Unicode Consortium và ISO/IEC JTC1/SC2/WG2 đã thống nhất hợp tác để tạo ra một không gian mã chung giữa Unicode và ISO/IEC 10646. Điều này đảm bảo không có sự xung đột giữa hai tiêu chuẩn quốc tế.

Bạn có thể xem thêm tài liệu về sự kiện này tại https://www.unicode.org/versions/Unicode17.0.0/core-spec/appendix-c/

IV. Sự phát triển của các lược đồ mã hóa (UTF-8, UTF-16, UTF-32)

Vượt qua giới hạn 16-bit

Nhu cầu mã hóa các ký tự cổ đại (chữ tượng hình Ai Cập, chữ hình nêm...), các ký hiệu toán học phức tạp, và sau này là emoji cho thấy giới hạn 65,536 ký tự là không đủ.

Giải pháp: Unicode mở rộng không gian mã thành 17 mặt phẳng (planes), mỗi mặt phẳng có 65,536 code points, cho tổng cộng 1,114,112 code points có thể (từ U+0000 đến U+10FFFF).

Sự ra đời của UTF-8 (1992)

Ken ThompsonRob Pike phát minh ra UTF-8 trong một cuộc họp tại một quán ăn ở New Jersey vào tháng 9/1992.

Link kiểm chứng chính thống kể về sự kiện này tại https://www.cl.cam.ac.uk/~mgk25/ucs/utf-8-history.txt, mình chỉ tóm tắt ý chính cho bài nghiên cứu.

Ưu điểm vượt trội của UTF-8:

  • Tương thích ngược hoàn toàn với ASCII: Mọi file ASCII hợp lệ đều là file UTF-8 hợp lệ
  • Tiết kiệm bộ nhớ: Sử dụng 1 byte cho các ký tự Latin phổ biến
  • Tự đồng bộ: Có thể xác định ranh giới ký tự mà không cần đọc từ đầu
  • Không có vấn đề byte order (endianness)

Thống kê hiện tại: Theo W3Techs, tính đến ngày 03/11/2025, hơn 98% các trang web trên thế giới sử dụng UTF-8.

Số liệu trang web sử dụng Unicode

Link kiểm chứng: https://w3techs.com/technologies/overview/character_encoding

UTF-16: Mã hóa cho các hệ thống nội bộ

  • Sử dụng 2 bytes cho hầu hết các ký tự thông dụng
  • Sử dụng surrogate pairs (4 bytes) cho các ký tự ngoài BMP (Basic Multilingual Plane)
  • Phổ biến trong: Java, .NET, JavaScript (nội bộ), Windows API, Qt

UTF-32: Mã hóa cố định

  • Luôn sử dụng 4 bytes (32-bit) cho mỗi code point
  • Ưu điểm: Truy cập ký tự theo index cực nhanh (O(1))
  • Nhược điểm: Lãng phí bộ nhớ (gấp 4 lần ASCII/UTF-8 cho văn bản tiếng Anh)
  • Sử dụng: Chủ yếu trong xử lý nội bộ, hiếm khi dùng để lưu trữ

Ví dụ so sánh

Ký tự "𝕳" (U+1D577 - MATHEMATICAL BOLD FRAKTUR CAPITAL H):

  • UTF-8: F0 9D 95 B7 (4 bytes)
  • UTF-16: D835 DD77 (4 bytes - surrogate pair)
  • UTF-32: 0001D577 (4 bytes)

Ký tự "Ấ" (U+1EA4 - LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE):

  • UTF-8: E1 BA A4 (3 bytes)
  • UTF-16: 1EA4 (2 bytes)
  • UTF-32: 00001EA4 (4 bytes)

V. Unicode ngày nay và tương lai

Tiêu chuẩn toàn cầu được công nhận

Unicode đã trở thành:

  • Tiêu chuẩn quốc tế ISO/IEC 10646 (đồng bộ với Unicode Consortium)
  • Được sử dụng bởi 100% các hệ điều hành hiện đại: Windows, macOS, Linux, iOS, Android
  • Là nền tảng của mọi trình duyệt web: Chrome, Firefox, Safari, Edge
  • Được hỗ trợ bởi tất cả các ngôn ngữ lập trình hiện đại

Phát triển liên tục

Unicode Consortium phát hành phiên bản mới hàng năm (thường vào tháng 9):

  • Unicode 15.1 (2023): 149,813 ký tự
  • Bổ sung liên tục: emoji mới, các hệ chữ viết thiểu số, ký hiệu khoa học

Quy trình phê duyệt emoji

Một emoji mới cần trải qua quy trình phức tạp:

  1. Đề xuất gửi đến Unicode Emoji Subcommittee
  2. Đánh giá dựa trên 8 tiêu chí (tần suất sử dụng dự kiến, sự khác biệt, tính hoàn chỉnh...)
  3. Bỏ phiếu của Unicode Technical Committee
  4. Thường mất 1.5-2 năm từ đề xuất đến phê duyệt

Ví dụ emoji gần đây

  • 🫨 (Face with Shaking) - Unicode 15.0 (2022)
  • 🫷 🫸 (Leftwards/Rightwards Pushing Hand) - Unicode 15.0 (2022)
  • 🫎 (Moose) - Unicode 15.0 (2022)

Tầm quan trọng toàn cầu

Unicode đóng vai trò thiết yếu trong:

  • Giao tiếp đa ngôn ngữ trên internet
  • Bảo tồn các hệ chữ viết cổ đại và thiểu số
  • Toàn cầu hóa phần mềm và nội dung số
  • Truy cập thông tin không rào cản cho hàng tỷ người

Thách thức tương lai

  • Xử lý các biến thể phức tạp của emoji (màu da, giới tính...)
  • Hỗ trợ các hệ chữ viết chưa được số hóa
  • Cân bằng giữa việc thêm ký tự mới và giữ tính ổn định
  • Xử lý các vấn đề về bảo mật (homograph attacks)

Ý nghĩa đối với Việt Nam hiện nay

Việt nam là quốc gia đang phát triển mạnh về công nghệ số hóa, việc Unicode thống nhất quy chuẩn như vậy vừa giải quyết rất tốt về vấn đề hiển thị tiếng Việt và chuẩn số hóa tư liệu như dữ liệu quốc gia VNeID, các nền tảng giao tiếp quốc tế. Ngoài còn có ý nghĩa quan trọng trong việc xây dựng nền giáo dục số, dữ liệu dân cư quốc gia, phần mềm của Việt Nam hiện nay.

TỔ CHỨC ĐỨNG RA QUY CHUẨN

Unicode Consortium (Tổ chức chính)

  • Website chính thức: https://home.unicode.org/
  • Địa chỉ: P.O. Box 391476, Mountain View, CA 94039-1476, USA
  • Tính chất: Tổ chức phi lợi nhuận 501(c)(3)
  • Thành viên chính (Full Members): Adobe, Apple, Google, IBM, Meta, Microsoft, Netflix, Oracle, SAP, Shopify...

ISO/IEC JTC 1/SC 2/WG 2

  • Tên đầy đủ: ISO/IEC Joint Technical Committee 1, Subcommittee 2, Working Group 2
  • Vai trò: Phát triển và duy trì tiêu chuẩn ISO/IEC 10646
  • Mối quan hệ: Đồng bộ 100% với Unicode Consortium (cùng không gian mã)

Văn bản tiêu chuẩn chính thức

Tài nguyên tham khảo

Lời kết

Trên đây là toàn bộ nội dung mình đã nghiên cứu, dịch, tổng hợp dài cũng có thể khá đầy đủ rồi. Nếu bạn thấy bài viết cần bổ sung thêm - Xin vui lòng gửi email về kituhay.com@gmail.com để mình bổ sung thêm nhé.

Chân thành cảm ơn tổ chức Unicode đã luôn phát triển - duy trì sự ổn định của bảng mã Unicode để KiTuHAY nói riêng và Người trên toàn thế giới sử dụng ổn định hằng ngày.

Về Tác Giả

Tác giả: Lê Thành An - Người kiểm duyệt nội dung, phát triển nội dung, nghiên cứu và phát triển nội dung liên quan đến Unicode, xử lý văn bản đa ngôn ngữ, đang quan tâm đến sự sáng tạo, kết hợp của các mã kí tự để cho ra những kí tự đặc biệt phục vụ cho cộng đồng tại Việt Nam.

Nhóm chủ đề đang nghiên cứu: Kiến thức nền tảng & Lịch sử của Unicode.

Email: kituhay.com@gmail.com

logo footer

KiTuHay.Com là website Kí tự đặc biệt đã phát triển đến phiên bản: v1.2.54, chuyên tạo tên nhân vật game bằng các kí hiệu như Kí tự Quả Táo, Mặt quỷ, Khoảng trống. Tạo kí tự Free Fire, PUBG, Liên Quân, TikTok, Zalo, Facebook, Instagram. Cập nhật mới nhất những kí tự đẹp tại KiTuHay.Com.

Giới thiệu | Câu chuyện | Hướng dẫn | Chính sách | Kiểm duyệt | Thanh toán | Cookies | Liên hệ

Tải về app kituHAY Tải app Android trên Google Play Tải app iOS trên App Store

Nỗ lực vì một cộng đồng Kí Tự HAY hữu ích hơn

Email: kituhay.com@gmail.com

Phone: 0362.19.39.89

Thời gian làm việc: 8:00 - 21:00.

Địa chỉ: 81 Đại Đồng, Thanh Trì, Hoàng Mai, Hà Nội

Chịu trách nhiệm nội dung: Đặng Trần Long

Được xây dựng bằng cả con tim ❤️ của KITUHAY.COM

Nguồn dữ liệu: W3schools, Unicode, Wikipedia. © Copyright 2025 Ki Tu Hay. All rights reserved.

Facebook | TikTok | Youtube | DMCA.com Protection Status