
Dùng Unicode chữ Việt trong ISO 10646
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
Dùng Unicode chữ Việt trong ISO 10646 Dùng Unicode chữ Việt trong .NET Căn bản Unicode chữ Việt ISO 10646 và UnicodeISO (International Standard Organisation) 10646 là tiêu chuẩnquốc tế nhằm cung ứng đủ số ký tự để dùng cho mọi chữ của tất cả ngônngữ trên thế giới. Thay vì dùng 8 bits để biểu diễn chỉ 255 dấu hiệu, bâygiờ người ta dùng đến 16 bits để có thể biểu diễn đến trên 65000 dấuhiệu.Hãy tưởng tượng một bài viết có thể chứa nhiều ngôn ngữ cùng mộtlúc. Hay môt chương trình hiển thị các đề mục bằng ngôn ngữ địa phương,vì khi chương trình khởi động nó nhận diện ra ngay là nó đang đuợc chạyở xứ nào bằng cách đọc Locale từ Windows .Một trong những ưu điểmcủa tiêu chuẩn nầy là sự cố gắng để xáp nhập các tiêu chuẩn 8 bit có sẵnđể không cần phải thay đổi chúng. Thật ra ISO 10646 là tiêu chuẩn quốctế chính thức, còn Unicode thì được Unicode Consortium (tập hợp đạidiện các công ty Tin Học lớn) soạn ra. Nhưng cả hai tiêu chuẩn gần như yhệt nhau khi nói đến con số dùng để biểu diễn một chữ, con số nầy đuợcgọi là code point. Thí dụ như code point của chữ ả là 1EA3, của chữ ơ là01A1. Ðể biểu diễn một code point, tùy theo cách encoding, có khi ta cần1, 2, 3 hay 4 bytes .v.v., mỗi byte dùng cho code point người ta không gọilà byte hay octet, mà lại gọi là code unit. Thỉnh thoảng, Unicode đượccập nhật hóa, và ấn bản mới nhất hiện giờ là 3.1.1.ISO 10646 định nghĩahai bộ CCS (Coded Character Sets), UCS-2 và UCS-4. UCS-2 dùng 16bits và là một phần nhỏ (subset) của UCS-4.UCS-4 là một CCS dùng31bits, chia thành 4 nhóm như sau:7 bits 8 bits 8 bits 8 bits1111111 11111111 11111111 11111111Group Plane Row CellCái Plane đầu tiên của UCS-4 với giá trị Group=0, Plane=0 cũng là chínhUCS-2. Nó còn đuợc gọi là BMP (Basic Multilingual Plane). Code pointstrong UCS thường được viết dưới dạng u+????, mà ???? là con sốhexadecimal của code point. Characters có giá trị trong khoảng từu+0021 đến u+007E thì giống như ASCII và các characters trongkhoảng từ u+00A0 đến u+00FF thì giống như ISO 8859-1. Do đó rấtdễ cho ta hoán chuyển giữa ASCII hay ISO 8859-1 với UCS. Unicode(version 3.0.1) thì dùng 20bit subset của UCS-4 làm Coded Character Set.Những Character Encoding SchemesCó vài Character Encoding Schemes được đưa ra dùng: đó là UTF-8, UTF-16, UTF-16LE, và UTF-16BE. UTF là viết tắt chữ UnicodeTransformation Format.UTF-16UTF-16 là một cách encoding dùng 20bit Unicode. Các characters trongBMP được diễn tả bằng cách dùng giá trị 16bit của code point trongUnicode CCS. Có hai cách để viết 16bit value trong một dòng (stream) 8bit. Có lẽ bạn đã nghe qua chữ endian. Big Endian có nghĩa là cho MostSignificant Byte đi trước, tức là nằm bên trái - do đó ta có UTF-16BE. CònLittle Endian thì ngược lại, tức là Least Significant Byte đi trước - do đóta có UTF-16LE. Thí dụ, giá trị 16bit của con số Hex1234 được viết làHex12 Hex34 trong big endian và Hex34 Hex12 trong littleendian.Những characters không nằm trong BMP đuợc biểu diễn bằng cáchdùng surrogate pair (cặp thay thế). Code points có giá trị từ u+D800đến u+DFFF được dành riêng ra để dùng cho mục đích nầy. Trước hết,một code point có 20 bits được phân ra làm hai nhóm 10 bits. Nhóm MostSignificant 10 bits đuợc mapped vào một giá trị 10bit nằm trong khoảng từu+D800 đến u+DBFF. Nhóm Least Significant 10 bits đuợc mapped vàomột giá trị 10bit nằm trong khoảng từ u+DC00 đến u+DFFF. Theo cách đóUTF-16 có thể biểu diễn được những characters Unicode có 20bits.UTF-8UTF-8 là một cách encoding để có tác dụng y như UCS-4 (cũng là UTF-16), chớ không phải có code point nào khác. UTF-8 được thiết kế choupward-compatible với ASCII. UTF-8 không phải là chỉ dùng một byte,nhưng là dùng nhiều bytes - từ 1 đến 6 bytes. Cách hoán chuyển UTF-16qua UTF-8 và ngược lại đuợc làm theo bảng dưới đây. Trong Table dướiđây, những binary (Nhị phân) bits nằm bên trái của UTF-16 đuợc chuyểnqua bên phải của UTF-8 theo cùng một màu như chỉ dẫn. Ta hãy thử lấythí dụ chữ ả với code point, hay UTF-16, 1EA3. UTF-8 bytes của nó làE1BAA3. Nếu bạn chưa quen cách dùng số nhị phân hay Hex hãy đọc quabài Hệ thống số nhị phân. UCS-4 (UTF-16) UTF-8 1 E A 3 1110 ???? 10?? ????10?? ???? 0001 1110 1010 0011 1110 0001 1011 10101010 0011 E 1 B AA 3UTF-16 (Nhị phân) UTF-8 (Nhị phân)00000000 00000000 00000000 0???????0???????00000000 00000000 00000??? 110????? 10??????????????00000000 00000000 ???????? 1110???? 10?????? 10??????????????00000000 000????? ???????? 11110??? 10?????? 10?????? 10??????????????000000?? ???????? ???????? 111110?? 10?????? 10?????? 10?????????????? 10??????0??????? ???????? ???????? 1111110? 10?????? 10?????? 10?????????????? 10?????? 10??????Trong chữ Việt, chúng ta chỉ làm việc với một số tương đối ít Unicode codepoints ( tổng cộng 134 ký tự) và UTF-8, bạn có thể hoặc dùng một Look-up table dựa theo Bản đối chiếu, hoặc dùng hai Functions ToUTF8 vàToUTF16 với Listings như dưới đây để hoán chuyển từ encoding UTF-16ra UTF-8, và ngược lại:Function ToUTF8(ByVal UTF16 As Long) As Byte() Convert a 16bit UTF-16BE to 2 or 3 UTF-8 bytes Dim bArray() As Byte If UTF16 < &H80 Then ReDim bArray(0) one byte UTF-8 bArray(0) = UTF16 Use number as is ElseIf UTF16 < &H800 Then ReDim bArray(1) two byte UTF-8 bArray(1) = &H80 + (UTF16 And &H3F) LeastSignificant 6 bits UTF16 = UTF16 \ &H40 ...
Tìm kiếm theo từ khóa liên quan:
Giáo dục đào tạo giáo trình đại học cao đẳng Dùng Unicode chữ Việt trong tin học văn phòng tin học ứng dụng IISO 10646 và Unicodevà UnicodeTài liệu có liên quan:
-
73 trang 449 2 0
-
Nhập môn Tin học căn bản: Phần 1
106 trang 361 0 0 -
Giáo trình Tin học văn phòng: Phần 2 - Bùi Thế Tâm
65 trang 358 0 0 -
Tài liệu bồi dưỡng giáo viên sử dụng SGK Tin học 10 Cánh diều (Định hướng Tin học ứng dụng)
61 trang 297 0 0 -
70 trang 295 1 0
-
Tài liệu học tập Tin học văn phòng: Phần 2 - Vũ Thu Uyên
85 trang 294 1 0 -
Giáo trình Tin học MOS 1: Phần 1
58 trang 285 0 0 -
Giáo trình Xử lý sự cố Windows & phần mềm ứng dụng
190 trang 271 1 0 -
MẪU ĐƠN ĐỀ NGHỊ CẤP GIẤY PHÉP dạy thêm học thêm ngoài nhà trường
3 trang 240 2 0 -
Phần III: Xử lý sự cố Màn hình xanh
3 trang 237 0 0 -
Các phương pháp nâng cấp cho Windows Explorer trong Windows
5 trang 224 0 0 -
101 trang 211 1 0
-
MẪU ĐƠN XIN XÉT TUYỂN VÀO LỚP 10 TRƯỜNG THPT DÂN TỘC NỘI TRÚ TỈNH
2 trang 202 0 0 -
tài liệu môn Kinh tế vĩ mô_chương 1
10 trang 201 0 0 -
Tải video YouTube chất lượng gốc
4 trang 196 0 0 -
20 trang 190 0 0
-
BÁO CÁO KHẢO SÁT ĐỊA CHẤT CÔNG TRÌNH
33 trang 186 0 0 -
Hướng dẫn sử dụng bộ lọc trong Yahoo Mail
4 trang 185 0 0 -
Giáo trình Mạng máy tính (Nghề: Tin học ứng dụng - Trung cấp) - Trường Cao đẳng Cộng đồng Đồng Tháp
189 trang 174 0 0 -
65 trang 169 0 0