Tiếng Việt và bộ mã Unicode



tải về 27.83 Kb.
Chuyển đổi dữ liệu30.08.2016
Kích27.83 Kb.




Tiếng Việt và bộ mã Unicode

Ðặng Minh Tuấn (dangtuan@bigfoot.com)

89B Lý Nam Ðế, Hà nội, 8433872 (Báo TH&ÐS)

1 Tổng quan về bộ mã Unicode

    Tiếng Việt có tất cả 134 ký tự đặc thù Việt, do đó 128 giá trị của phần mở rộng không đủ để mã tất cả các con chữ Việt. Vì vậy đã xuất hiện nhiều giải pháp khác nhau nhằm mã hóa tiếng Việt trong khuôn khổ bảng mã 8-Bit. Có thể chỉ sử dụng chữ thường trong bản mã, tức là chỉ cần 67 giá trị, còn chữ hoa được thể hiện bằng cách dùng Font chữ hoa. giải pháp này được dùng trong TCVN 5712-1993 (VN3) mà Font chữ ABC là 1 ví dụ. Giải pháp tổ hợp là dùng 2 ký tự: ký tự nguyên âm và ký tự dấu ghép lồng vào nhau. Ví dụ chữ ‘á’ được tạo thành bởi ký tự ‘a’ và ký tự dấu sắc (‘) mà font chữ VNI là ví dụ tiêu biểu. Cả 2 giải pháp này về tiếng Việt đều có những ưu điểm và nhược điểm khác nhau, (xem thêm phần phân tích các ưu nhược điểm này trong Vietkey Help).Bảng mã 8-bit với 256 giá trị không thể đủ chỗ để mã các ký tự của các ngôn ngữ dùng chữ tượng hình như tiếng Hán, Tiếng Nhật, Hàn quốc... Từ trước đến nay đã có nhiều giải pháp khác nhau để mã hoá các ký tự của các ngôn ngữ này trên máy vi tính, tuy nhiên những giải pháp này thường dùng kỹ thuật tổ hợp hoặc các chuỗi ký tự điều khiển (Esc) khá phức tạp và quan trọng hơn cả là các giải pháp này không tương thích với nhau. Do đó việc sử dụng đồng thời các ngôn ngữ trong cùng 1 văn bản và trong cùng 1 font chữ thường không thể hoặc rất khó khăn khi thực hiện.

    Unicode ra đời là nhằm khắc phục các nhược điểm nói trên và nhằm xây dựng một bộ mã chuẩn vạn năng dùng chung cho tất cả mọi ngôn ngữ trên thế giới.

    Unicode côngxoocxiom được thành lập vào năm 1991 như 1 tổ chức phi lợi nhuận nhằm phát triển chuẩn Unicode, các thành viên của Unicode công xoóc xiông bao gồm các công ty hàng đầu của thế giới trong lĩnh vực phần mềm như Adobe, Aldus, Borland, Digital, GO, IBM, HP, Lotus, Metaphor, Microsoft, NeXT, Novell, Sun, Symantec, Taligent, Unisys, and WordPerfect ...



    Unicode là bộ mã ký tự 16-Bit, tương thích hoàn toàn với chuẩn quốc tế ISO/IEC 10646-1; 1993. Với 65.536 ký tự Unicode hầu như có thể mã hoá tất cả các ngôn ngữ trên thế giới. Ngoài ra với cơ chế mở rộng UTF-16 Unicode và chuẩn ISO 10646 còn cho phép mã hoá hơn 1 triệu ký tự mà không cần phải dùng đến mã điều khiển Escape.

    Phiên bản mới nhất hiện nay là Unicode 2.0 (Bản 3.0 đang chuẩn bị phát hành) bao gồm các ngôn ngữ thuộc họ la-tinh, và Greek, Cyrillic, Armenian, Hebrew, Arabic, Devanagari, Bengali, Gurmukhi, Gujarati, Oriya, Tamil, Telugu, Kannada, Malayalam, Thai, Lao, Georgian, Tibetan, Japanese Kana, the complete set of modern Korean Hangul, and a unified set of Chinese/Japanese/Korean (CJK).

    Chuẩn Unicode mô tả các ký tự ngôn ngữ, các dấu chấm câu, dấu phụ, ký hiệu toán học, các dấu mũi tên và các ký hiệu Dingbats. Hiện nay Unicode đã định nghĩa khoảng 39 000 ký tự. Còn khoảng 18.000 ký tự sẽ được định nghĩa nay mai, 917 504 ký tự có thể được định nghĩa nếu dùng cơ chế mở rộng UTF-16. 6.400 chỗ được dành ra cho các hãng sử dụng với các mục đích riêng của mình. UTF-16 cũng dành ra 131.072 ký tự để dành cho những mục đích dùng riêng.

    Các chuẩn mã hoá ký tự không chỉ định nghĩa các mã của các ký tự, giá trị số, và vị trí của các ký tự mà còn định nghĩa cả cách biểu diễn các mã ký tự dưới dạng bit. Unicode và ISO-10646 quy định 2 cơ chế, khuôn dạng chuyển đổi là UTF-8 và UTF-16.



Một số đặc điểm của Unicode:

    - Mỗi ký tự trong bảng mã Unicode đều có độ dài cố định là 16 Bit, nhờ đó Việc xử lý các xâu ký tự Unicode rất đơn giản không phức tạp như các giải pháp dùng chuỗi ký tự điều khiển, phải có những thuật toán tương đối phức tạp để nhận diện ký tự trong 1 chuỗi các Byte. Trong khi đó với Unicode mỗi ký tự có độ dài đúng 2 Byte nên có thể định vị rất dễ dàng các vị trí của ký tự trong chuỗi Byte cho trước.

    - Unicode tránh đến mức tối đa việc định nghĩa dư thừa, trùng lặp. Ví dụ ký tự ‘é’ chỉ có 1 mã duy nhất dùng chung cho cả ngôn ngữ tiếng Việt, tiếng Czech, ....cũng chính vì thế nên hệ thống chữ Việt có các mã nằm rải rác ở nhiều ví trí không liền nhau. Tiếng Hán, Nhật và Hàn có khoảng 10 nghìn ký tự trùng nhau nên chúng được dùng chung cho cả 3, tuy nhiên trong Unicode vẫn có các vùng riêng để định nghĩa những ký tự đặc thù của 3 ngôn ngữ này.- Unicode về cơ bản không quy định việc bố trí các ký tự theo quy định sắp xếp của các ngôn ngữ, điều này cũng là hệ quả của việc tránh định nghĩa các ký tự dư thừa do phải tận dùng các ký tự dùng chung nên không thể bố trí các ký tự theo từng vùng riêng cho từng ngôn ngữ. Hơn nữa thực tế với nhiều ngôn ngữ người ta phải dùng những thuật toán riêng để sắp xếp chứ không thể sắp xếp theo thứ tự của chúng trong bảng chữ cái (tiếng Việt là 1 điển hình). Chính vì vậy bảng mã tiếng Việt trong Unicode có các ký tự Việt nằm rải rác ở nhiều nơi và không theo 1 trình tự sắp xếp nào.

    Unicode đã được cài đặt trong các hệ điều hành Windows NT, Windows 9.x, MacIntosh (MacOS 8), BE OS, Linux...

    Windows NT sử dụng Unicode như là nền tảng trong hệ điều hành, các xâu ký tự được xử lý như là xâu Unicode, Resource, tên File trong NTFS cũng là Unicode. Tuy nhiên để tăng tính tương thích Windows NT vẫn có các hàm API để xử lý ký tự mã 8-Bit. Windows NT 5.0 hỗ trợ hơn 100 ngôn ngữ khác nhau trong đó có cả tiếng Việt.

    Ngược lại Windows 9.x không lấy Unicode làm nền tảng nội tại trong hệ điều hành, tuy nhiên Win9.x lại có 1 số hàm hỗ trợ cho việc xử lý và hiển thị mã Unicode.

    Muốn sử dụng được Unicode cần phải có những phần mềm hỗ trợ hiển thị hoặc cho phép gõ ký tự theo chuẩn Unicode, ngoài ra cũng cần phải có Font chữ Unicode được cài đặt trong hệ thống.

    Hiện nay trong môi trường Windows, bộ MS Office 2000 (Word, Excel, Powerpoint...) hỗ trợ rất tốt bộ mã Unicode. Trong môi trường Mạng Internet Expolore 5.0 cũng cho phép hiển thị các trang Web được thiết kế theo chuẩn Unicode.



2. Tiếng Việt trong bộ mã Unicode

    Tiếng Việt được xếp vào họ La-tinh mở rộng 1 (Latinh Extended 1), tuy rằng các ký tự Việt phân bố không tập trung, nhưng có 1 thuận lợi rất lớn là do tiếng Việt được xếp vào họ La-tinh nên đây là thành phần cơ bản của hầu hết tất cả các font chữ Unicode, có nghĩa là tiếng Việt có mặt ở mọi nơi trong bất kỳ của ngôn ngữ nào, và như thế có thể đọc được tiếng Việt ở mọi nơi có cài đặt font Unicode. Trong khi đó các ngôn ngữ không thuộc họ la-tinh như China, Japan, Lao, Thai...thì không phải lúc nào cũng có sẵn trong các font Unicode.



    Tiếng Việt trong Unicode có thể có 2 dạng: ký tự dựng sẵn và ký tự tổ hợp. Unicode có đủ 134 ký tự cho tất cả chữ hoa và chữ thường trong bảng chữ cái tiếng Việt, đồng thời có mã cho 5 dấu thanh (Huyền, sắc, hỏi, ngã, nặng) để tạo ra các ký tự Việt dạng tổ hợp, ngoài ra Unicode còn có dấu riêng để biểu diễn đơn vị tiền đồng Việt nam.

Ví dụ:


Chữ c ả n g sẽ được biểu diễn dưới dạng Unicode như sau (Chuỗi số Hex):

0063 1EA3 006E 0067 (mã dựng sẵn)

0063 0041 0309 006E 0067 (mã tổ hợp)

    Bàn phím cho phép gõ tiếng Việt trên Windows 2000 sẽ sinh ký tự theo kiểu dựng sẵn, trong khi phần mỗ trợ tiếng Việt Unicode trong Windows 9.x lại sinh ký tự theo mã rổ hợp ( các chữ tổ hợp này thường có độ mỹ thuật không cao do dấu thanh bỏ cố định và dùng chung nên chữ và dấu đặt không hợp lý đối với các chữ thường).



3. Cài đặt tiếng Việt Unicode

3.1 Hiển thị tiếng Việt Unicode:

    Ðể hiển thị tiếng Việt Unicode cần phải cài đặt font chữ Unicode, chỉ cần cài 1 trong các phần mềm sau: Internet Explore 5 hoặc MS Office 2000 trong Windows 95/98 hoặc cài đặt Windows 2000. Khi cài đặt 1 trong những phần mềm trên các font Unicode có tiếng Việt sẽ được tự động cài đặt hệ thống. Các font cơ bản của Microsoft đi kèm với các phần mềm trên đã hỗ trợ tiếng Việt Unicode là Times New Roman, Arial, Courier, Tahoma, Ngoài ra có thể tải xuống các font Unicode (có hỗ trợ tiếng Việt) khác trên Internet: Verdana, Arial Narrow, Arial Black, Bookman Old Style, Garamond, Impact, Lucida Sans. Comic Sans...



3.2 Gõ tiếng Việt Unicode

    Với Windows 2000 (Bản English) chỉ cần cài đặt thêm ngôn ngữ tiếng Việt bàn phím tiếng Việt theo chuẩn TCVN sẽ được cài đặt và cho phép bạn gõ tiếng Việt (Một kiểu gõ gần giống với kiểu gõ VNI).

    Windows 95, 98 (Bản English): tải xuống Vietnamese Support trong Website của Microsoft, cài đặt Vi.inf để có được bộ gõ tiếng Việt Unicode theo tiêu chuẩn bàn phím TCVN. Trong cả 2 môi trường Windows NT và Windows 9.x Microsoft có hỗ trợ cả Local cho tiếng Việt do đó các tính năng tìm kiếm, sắp xếp tiếng Việt cũng được hỗ trợ, ngoài ra Local tiếng Việt cũng hỗ trợ cả cách đánh chữ số hay cách đặt ngày tháng theo quy định của Việt nam.

    Bàn phím tiếng Việt do Microsoft hỗ trợ chỉ có 1 kiểu duy nhất là TCVN, sẽ gây khó khăn cho những người quen với kiểu gõ Telex hoặc VNI. Ðể có kiểu gõ quen thuộc trong cả 2 môi trường Windows NT, Windows 9.x bạn có thể dùng bộ gõ VIETKEY (chọn code là VN Win 95).Ưu điểm của bộ gõ Vietkey trong môi trường Unicode: hỗ trợ kiểu gõ Telex và VNI, có thêm nhiều tính năng nâng cao với font Unicode như kiểm tra lỗi chính tả, tự động chuyển đổi Anh-Việt, gõ tắt trong tất cả các ứng dụng, 1 phần mềm duy nhất chạy được trên cả 2 môi trường WinNT và Win95. Chương trình nhỏ gọn (chỉ cần 90K), không bị conflict với các phần mềm phổ thông Lạc Việt MTD, English Stady...đồng thời Vietkey vẫn cho phép gõ tiếng Việt với các font truyền thống ABC, VNI, Vietware...



    Tiếng Việt trong Unicode: tổng cộng 140 mã được định nghĩa cho tiếng Việt: 134 ký tự chữ việt, 5 dấu thanh và dấu VNÐ. Trong đó có 31 ký tự thuộc bảng mã 8-bit ASCII mở rộng.

4. Kết luận

    Mặc dù bộ mã chuẩn quốc gia TCVN 5712-1999 sẽ được công bố trong 1 thời gian gần đây, nhưng với bản chất vẫn là bộ mã 8-Bit và trên nền bộ mã TCVN 5712-1993, bộ mã này vẫn sẽ gặp phải những tranh chấp với nhiều ứng dụng phổ thông thông như MS Office, đặc biệt là với Internet Explore 5 và MS Publishing 2000, chữ ‘ư’ sẽ không hiển thị được trên các trang Web hoặc sẽ bị ngắt dòng sai, bộ mã Unicode sẽ giải quyết được những tranh chấp nói trên và cho phép tiếng Việt hoà đồng với các ngôn ngữ khác trên thế giới.Trong xu thế hoà nhập với thế giới hiện nay, bộ mã Unicode và 1 số phần mềm, công cụ hỗ trợ hiển thị và gõ tiếng Việt Unicode trong các môi trường phổ thông như Windows NT và Windows 9.x cộng với IE5, Office 2000, Vietkey...Unicode sẽ mở ra 1 cuộc cách mạng mới trong lĩnh vực tiếng Việt và trong tương lai không xa Unicode sẽ là bộ mã được dùng rất phổ biến trong thị thường tin học của Việt nam.
: 2009
2009 -> Công ty cổ phần Xây dựng Điện vneco3
2009 -> Ủy ban nhân dân cộng hòa xã HỘi chủ nghĩa việt nam thành phố HỒ chí minh độc lập Tự do Hạnh phúc
2009 -> BỘ NÔng nghiệp và phát triển nông thôN
2009 -> Nghị ĐỊnh số 163/2004/NĐ-cp ngàY 07/9/2004 quy đỊnh chi tiết thi hành một số ĐIỀu của pháp lệNH
2009 -> BỘ CÔng thưƠng cộng hoà XÃ HỘi chủ nghĩa việt nam
2009 -> Mẫu số: 01 (Ban hành kèm theo Thông tư liên tịch số 31 /2009/ttlt-btc –BLĐtbxh ngày 09 tháng 09 năm 2009) CỘng hòa xã HỘi chủ nghĩa việt nam
2009 -> BỘ y tế Số: 12/2006/QĐ-byt cộng hoà XÃ HỘi chủ nghĩa việt nam
2009 -> CỘng hòa xã HỘi chủ nghĩa việt nam sở TƯ pháP Độc lập Tự do Hạnh phúc
2009 -> CÔng ty cp đIỆn tử BÌnh hòa cộng hòa xã HỘi chủ nghĩa việt nam
2009 -> Ủy ban nhân dân thành phố HỒ chí minh




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2019
được sử dụng cho việc quản lý

    Quê hương