Kênh 360 Công Nghệ Kênh 360 Công Nghệ

Bảng mã Unicode phần 1

Bài viết này là để giúp các bạn hiểu được Bảng mã Unicode và UTF-8 rõ ràng hơn. Sau khi đọc xong, các bạn sẽ biết được lịch sử của Unicode, nó có các dạng thức nào, UTF-8 là gì và tại sao luôn đi đôi với Unicode.

Khi tổng hợp nên tài liệu này, để cho đơn giản, bài viết bỏ qua nhiều khía cạnh  phức tạp của Unicode như các đề tài về mã tổ hợp, mã dựng sẵn. Nếu có thiếu sót, mong các bạn thông cảm. Thêm vào đó, bài viết không bàn về cách cài đặt/sử dụng Unicode font trong các hệ điều hành hay phần mềm. Về chuyện này, các bạn có thể tham khảo trang web của Lê Hoàn hay các thư trao đổi về Unicode.

Một vài điều cần lưu ý:


Trong bài viết, tôi chỉ dùng hệ thập lục phân (hệ 16) để chỉ giá trị của các mã. Ví dụ, khi tôi nói kí tự "a" có mã là 61, bạn phải hiểu rằng đây là 61 trong hệ thập lục phân (bằng 97 hệ thập phân). Lí do là trong các bảng mã, các mã thường có dạng thập lục phân chứ ít khi có dạng thập phân.


Ở cuối bài, tôi có một bảng mã Unicode cho các kí tự Việt nam các bạn tham khảo. Nếu muốn xem toàn bộ bảng mã Unicode (dưới dạng file PDF) vào http://www.unicode.org. Trong đó, click "Code Charts" và bạn sẽ thấy nhiều "trang mã". Toàn bộ các kí tự tiếng Việt có thể được tìm thấy ở các trang Latin-1 Supplement, Latin Extend A và Latin Extend B, và Latin Extended Additional. Bạn có thể in các trang mã nếu muốn.


Cuối cùng, bạn có thể bỏ qua các phần mình đã biết và đi thẳng đến nơi tôi nói về UTF-16, UTF-8. Tuy nhiên, tôi cho rằng nếu bạn hiểu rõ hơn về các bảng mã ASCII và ANSI thì sẽ hiểu rõ hơn sự ra đời và phát triển của Unicode.


Một số định nghĩa hữu ích:


-Bảng mã: Một tập hợp nhiều kí tự khác nhau. Một ví dụ là bảng mã chuẩn ASCII (American Standard Code for Information Interchange - Mã chuẩn Hoa kỳ trong Trao đổi Thông tin) bao gồm 128 kí tự, phần lớn là các kí số, kí tự tiếng Anh, những ký tự đặc biệt và thông dụng như các dấu cộng, trừ, phần trăm... Unicode là một bảng mã chuẩn khác, gồm có hàng ngàn các kí tự gồm tiếng Anh và quốc tế bao gồm cả các kí tự Việt nam. Cũng có một vài bảng mã tiếng Việt (không chuẩn) như TCVN-ABC, VNI, VISCII, chúng chỉ có tối đa là 256 kí tự .


- Mã: Một số nguyên dương đại diện cho một kí tự trong một bảng mã. Mã của một kí tự thay đổi tùy theo bảng mã. Ví dụ, trong bảng mã tiếng Việt TCVN-ABC, kí tự "ầ" có mã C7. Trong bảng tiếng Việt VISCII, "ầ" có mã là A5. Trong bảng Unicode, "ầ" có mã là 1EA7 (=7847 thập phân). Lưu ý là mã của một kí tự cho thấy vị trí của kí tự trong bảng mã. Ví dụ, trong bảng Unicode, "ầ" nằm ở vị trí 7847 . Mỗi kí tự Unicode chỉ được "gắn" một mã duy nhất. Ví dụ, trong Unicode, bạn không thể tìm thấy kí tự "ầ" tại bất kỳ chổ nào khác ngoài vị trí 7847. Các máy tính chỉ biết một kí tự qua mã của nó. Ví dụ, khi bạn đánh Unicode dùng một bộ gõ tiếng Việt và bạn muốn nhập chữ "ầ", bộ gõ tìm cách gửi mã 1EA7 (sau khi đã được mã hóa dưới dạng nhị phân) đến bộ xử lý trung ương của máy tính.


- Font Unicode: Một font được gọi là font Unicode khi nó cung cấp cấu hình của các kí tự trong bảng mã Unicode. Một font file (tập tin font) dùng mã của một kí tự để chỉ định cấu hình cho kí tự đó. Ví dụ, khi phải thể hiện kí tự "ầ" trên màn hình dùng font Arial, phần mềm sẽ lục tìm mã 1EA7 trong font file Arial.ttf và xác định cấu hình tương ứng. Nếu một font như VNI-Times không hổ trợ Unicode, nó sẽ không có cấu hình cho mã 1EA7 vì nó chỉ có mã lớn nhất là FF (=255 thập phân). Vì vậy, nó không thể hiển thị kí tự "ầ" và nó không được gọi là font Unicode. Tương tự như vậy, các font Arial, Times New Roman, Tahoma của các hệ điều hành như Windows 95 hoặc Windows 98 không có cấu hình cho các kí tự Unicode; do đó bạn phải "cập nhật" chúng bằng cách tải và cài đặt các font Unicode với các tên tương tự vào máy nếu bạn muốn đọc mail hay duyệt các web site dùng Unicode font.


- Chuỗi bit: Một chuỗi các số nhị phân, như 01100001. Do máy vi tính chỉ "đọc" được số nhị phân, dữ liệu phải được chuyển đổi thành các chuỗi bit trước khi được nhập vào máy. Mỗi kí số trong một số thập lục phân luôn được biểu diễn bằng bốn 4 số nhị phân. Ví dụ, 6 = 0110, 1 = 0001, F = 1111, 7 = 0111, 61 = 01100001, 7F=01111111.


- Mã hóa (encoding): Cách biểu diễn một kí tự trong dạng một chuỗi bit. Tùy theo cách mã hóa, một kí tự có thể được biểu diễn khác nhau.


"UTF-16" là một kiểu mã hóa các kí tự Unicode trong đó mỗi kí tự được biểu diễn dưới dạng một chuỗi 16-bit tương đương với giá trị của mã. Ví dụ, trong UTF-16, "ầ" được mã hoá thành một chuỗi 16-bit: 0001111010100111 (= 1EA7), tương đương với mã gốc của "ầ" trong bảng Unicode.


"UTF-8" là một kiểu mã hóa khác cho các kí tự Unicode, trong đó mỗi kí tự được biểu diễn dưới dạng MỘT hay NHIỀU chuỗi 8-bit, có thể KHÔNG tương đương với mã gốc. Ví dụ, trong UTF-8, "ầ" được mã hóa thành ba chuỗi 8-bit (cũng có thể gọi là một chuỗi 24 bit) 111000011011101010100111 (= E1BAA7) không tương đương với mã gốc là 1EA7. Tại sao cần UTF-8. Chúng ta sẽ biết sau.


- Giải mã: Sau khi hệ điều hành nhận được một kí tự (ví dụ đọc từ một file) đã được mã hóa, nó phải giải mã để lấy lại mã gốc của kí tự trong bảng mã trước khi vào font file để tìm cấu hình và thể hiện kí tự trên màn hình. Một font file chỉ dùng các mã gốc chứ không dùng dạng đã mã hóa.


Hệ ASCII/ANSI: các hệ điều hành chỉ dùng các bảng mã ASCII hay ANSI. Ví dụ: Windows 95 dùng bảng mã ANSI. Các hệ ASCII và ANSI luôn luôn dùng một đơn vị dữ liệu là 8 bit (1 byte).


QUÁ TRÌNH PHÁT TRIỂN: từ ASCII đến ANSI cho đến Unicode.


1. Bảng mã ASCII: 7-bit, cho phép 128 mã (2 mũ 7) Còn có tên khác là ISO 646-IRV. ASCII là bộ mã đầu tiên lúc máy tính được

phát minh

Mã cho phép: từ 0 đến 7F

Mã nhỏ nhất: 0, dùng cho kí tự NUL (null: trống trơn, không có gì).

Mã lớn nhất 7F (=thập phân 127, =nhị phân 01111111). Được dùng cho phím DEL (delete-xoá).

(lưu ý: mặc dù đơn vị dữ liệu là 8 bit, chỉ có 7 bit cuối được dùng, )


Ví dụ: Trong bảng ASCII, kí tự "a" có mã là 61.

Khuyết điểm: chỉ có 128 kí tự được cho phép. Mọi người cần nhiều mã hơn, nhất là sau khi hệ DOS và máy tính cá nhân xuất hiện. Vì vậy, người ta phải nghĩ ra bộ mã ANSI.


2. Bảng mã ANSI : 8-bit, là bảng mã ASCII mở rộng; cho phép 256 mã (2 mũ 8).

Các tên khác: ISO-8859-1, LATIN-1.

Mã cho phép: từ 0 đến FF

Mã nhỏ nhất: 0, dùng cho kí tự NUL.

Mã lớn nhất 255 = FF ( =thập phân 255, =nhị phân 11111111 ) .

(lưu ý: tất cả 8 bit trong đơn vị dữ liệu được dùng)


Ví dụ: trong bảng ANSI, kí tự "ô" của tiếng Việt có mã là F4. (các bộ mã tiếng Việt đều dựa trên ANSI với nhiều sửa đổi)

Lưu ý: 128 kí tự đầu tiên (các mã từ 0...7F) giống nhau trong ASCII và ANSI.

Ví dụ, ký tự "a" có mã là 61 trong cả hai bảng ASCII và ANSI. Nói cách khác, ASCII là tập con của ANSI.


Ưu điểm: số lượng mã cho phép đã được tăng đến 256. Do đó, bây giờ bảng mã có chỗ cho các kí tự khác bên cạnh tiếng Anh.

Khuyết điểm: Vẫn chưa đủ chỗ cho các kí tự quốc tế. (Trung Quốc, Hàn Quốc, Ä Rập, Do Thái...,quá nhiều!) Vì vậy, người ta phát minh ra Unicode 16-bit.

Xem tiếp Bảng mã Unicode phần 2

Bảng mã Unicode phần 3

Nguồn sưu tầm (?)



Lần cập nhật cuối ( Thứ bảy, 11 Tháng 7 2009 08:06 ) Số truy cập 5353  

Tin mới


Đã có thể cập nhật iOS 8, có link tải về offline
Apple vừa đưa ra bản cập nhật iOS để người dùng tải về. Hiện tại bạn có thể cập nhật nó bằng cách kiểm tra trong ...
Kinh nghiệm chọn mua sạc iPhone 'hàng xịn'
Kinh nghiệm chọn mua sạc iPhone 'hàng xịn' Những tai nạn giật điện liên tiếp gần đây với nghi vấn do sử dụng sạc ...
Interactive text fields with Fabric.js
Interactive text fields with Fabric.jshttp://fabricjs.com/Documenthttp://fabricjs.com/articles/http://fabricjs.com/fabric-intro-part-2/#textcanvas.add(new ...
Bộ sưu tập ảnh bìa Facebook đẹp và ý nghĩa nhất 2014
gửi tặng các bạn BST ảnh bìa Facebook đẹp và ý nghĩa nhất được tuyển chọn từ nhiều nguồn trên Internet. Các bạn hãy ...
Một số engineer lập trình game di động
Sau 1 thời gian tìm hiểu và có code thử vài game di động, mình tổng hợp 1 số engineer game thông dụng 1. Unity 3D - Website ...
Sửa lỗi 100% Disk trên Windows 8/8.1
Có khá nhiều người dùng Windows than phiền vì “dính” lỗi 100% Disk khi cài Windows 8 hoặc sau khi nâng cấp lên Windows 8.1. ...
Sửa lỗi 404 woff iis
Lỗi 404 woff files trên Chrome khi chạy web appication trên Windows Server IIS 6. Giải pháp sửa lỗi: "add MIME type qua IIS Manager ...
Chơi Flappy Bird Online không cần cài đặt
Chơi Flappy Bird Online không cần cài đặt Cách chơi Flappy BirdDùng chuột bấm vào bất kỳ vị trí nào trên màn hìnhUpdate sắp ...
Mẹo chơi Flappy Bird đạt điểm cao
Flappy Bird đơn giản nhưng mang tính giải trí cao. Khi mà nhiều nhà phát triển game chăm chút quá nhiều cho đồ họa hay tính ...
Hướng dẫn đăng ký Google Adsense Content thành công 100%
- Đối với các Web Master thì việc sở hữu một tài khoản Google Adsense Content (một số bạn còn gọi là tài khoản GA hoặc ...
  • Nổi bật
  • PrestaShop Guide
  • PrestaShop
  • Download Game bóng đá PES8 Việt Nam. Download Game bóng đá PES8 Việt Nam
    Bản việt hóa đầy đủ game bóng đá đỉnh nhất cho tới nay PES8 - Pro Evolution Soccer 8 bao gồm các đội tuyển Việt Nam,.. ... (143805)
  • Tải game Dragon ball Z - 7 viên ngọc rồng. Tải game Dragon ball Z - 7 viên ngọc rồng
    Lần đầu tiên xuất hiện trên hệ PS2, Dragon Ball Z - 7 viên ngọc rồng là một tựa game hành động đối kháng, và vài năm ... (123332)
  • Tải game bóng đá FiFa 09. Tải game bóng đá FiFa 09
    Khá nhiều tính năng cải thiện cơ cấu trong Fifa 2009 game thể thao bóng đá của EA từng trình làng ở bản UEFA 08 đã tìm ... (120326)
  • Tải Game Bóng Đá Pro Evolution Soccer 6 Việt Nam. Tải Game Bóng Đá Pro Evolution Soccer 6 Việt Nam
    Bản việt hóa game bóng đá Pro evolution Soccer 6 gần 100%. Bản PES 6 VN bao gồm các đội bóng Việt Nam, Thái Lan,.. Bình luận ... (101084)
  • Download PES 2011 patch Việt Nam PESVN. Download PES 2011 patch Việt Nam PESVN
    Download Pro Evolution Soccer 2011 patch game bóng đá PES Việt Nam PESVN Cập nhật đội hình mới nhất của Đội Tuyển Việt Nam ... (89653)
  • Download Game THE SIMS 3. Download Game THE SIMS 3
    The Sims Đạt 1.4 triệu bản bán ra trong tuần đầu, dẫn đầu về lịch sử các game bán chạy nhất trong vòng 27 năm của EA. ... (73695)
  • Download Pro Evolution Soccer 2011. Download Pro Evolution Soccer 2011
    Sau thất bại của những phiên bản Pro Evolution Soccer (PES) trong những năm qua, Konami đã trình làng Pro Evolution Soccer 2011 với ... (71853)
  • Tải Game Bóng Đá FIFA 2009 RIP 1 CD. Tải Game Bóng Đá FIFA 2009 RIP 1 CD
    Khá nhiều tính năng cải thiện cơ cấu trong game bóng đá của EA từng trình làng ở bản UEFA 08 đã tìm được đường sang ... (70634)
  • Tải Game bóng đá PES 2009. Tải Game bóng đá PES 2009
    Nhắc đến biểu ngữ PES Unites, Konami đã tập hợp tất cả những kiểu chơi cũ từ dòng Game bóng đá của mình với những ... (59735)
  • Download PES 2011 demo. Download PES 2011 demo
    Mời bạn trải nghiệm phiên bản demo của tựa game mô phỏng bóng đá PES 2011 (Pro Evolution Soccer 2011) nổi tiếng. ... (55961)

Có thể bạn quan tâm

Game mới


Chơi Flappy Bird Online không cần cài đặt
Chơi Flappy Bird Online không cần cài đặt Cách chơi Flappy BirdDùng chuột bấm vào bất kỳ vị trí nào trên màn hìnhUpdate sắp ...
Clash of Clasn - Cách chuyển nhà từ iOS sang Android
Trên iOs bạn vào Settings > Link a device > This is the OLD DEVICE > I want to link to another device > Lấy code. Trên Android Settings > Link a ...
[Review] Grand Theft Auto 5
Sản xuất : Rockstar Games Phát triển : Rockstar North Tổng đạo diễn : Adam Fowler Chịu trách nhiệm sản xuất : Leslie ...
Download Fifa 14 PC
Download game Fifa 14 full crack Video Trailer <a target="_blank" ...
GTA IV Full PC
Gã lái xe giữa những con phố nhộn nhịp ngập tràn đèn neon, vòng qua một nơi rất giống với quảng Thời đại ở New York ...
Grand Theft Auto V - Download tải game Grand Theft Auto 5 - tải GTA 5 full mod
Grand Theft Auto V (hay GTA 5) đang được sự quan tâm rất nồng hậu của các Gamer hiện nay. Sức hấp dẫn của Grand Theft Auto thì ...
Pes 2014 - Pro Evolution Soccer 2014 PC Full
Pes 2014 PC Full Clone DVD Crack Pro Evolution Soccer 2014 marks a new beginning for Konami’s blockbuster soccer series, with an ...
Clash of Clan - Thứ tự upgrade các loại trụ defence
Nên upgrade loại trụ nào trước và up lên level nào là tốt nhất? Theo mình thì thứ tự upgrade sẽ như sau: 1. Mortar: range ...
Hỏi Đáp về Game Clash of Clans
Sau đây mình sẽ trả lời những câu hỏi thường gặp của các bạn về game Clash of Clans Hỏi: Farm là gì, đi farm liệu có ...
Download Far Cry 3
Vậy là “cơn bão” cuối cùng trong năm mang tên Far Cry 3 cũng đã chính thức đổ bộ vào làng game thủ thế giới. Ngay khi ...
English French German Japanese Korean

Warning: session_write_close() [function.session-write-close]: write failed: Disk quota exceeded (122) in /home/kenh360com/domains/kenh360.com/public_html/cntt/libraries/joomla/session/session.php on line 529

Warning: session_write_close() [function.session-write-close]: Failed to write session data (files). Please verify that the current setting of session.save_path is correct () in /home/kenh360com/domains/kenh360.com/public_html/cntt/libraries/joomla/session/session.php on line 529