2012-01-14 26 views
7

Tôi đoán các điểm mã của UCS và Unicode giống nhau, tôi có đúng không?Tại sao chúng ta cần cả bộ ký tự UCS và Unicode?

Trong trường hợp đó, tại sao chúng ta cần hai tiêu chuẩn (UCS và Unicode)?

+2

Tôi không thấy sự tương tự giữa câu hỏi và câu hỏi "tại sao chúng ta cần chữ cái" ở trên. IMO, câu hỏi là một câu hỏi hay và thích hợp –

Trả lời

17

Chúng không phải là hai tiêu chuẩn. Bộ ký tự chung (UCS) không phải là tiêu chuẩn mà được định nghĩa trong tiêu chuẩn, cụ thể là ISO 10646. Không được nhầm lẫn với mã hóa , chẳng hạn như UCS-2.

Rất khó để đoán xem bạn thực sự có nghĩa là các mã hóa khác nhau hoặc các tiêu chuẩn khác nhau. Nhưng về sau, Unicode và ISO 10646 ban đầu là hai nỗ lực tiêu chuẩn hóa riêng biệt với các mục tiêu và chiến lược khác nhau. Tuy nhiên, chúng được hài hòa vào đầu những năm 1990 để tránh tất cả các mớ hỗn độn phát sinh từ hai tiêu chuẩn khác nhau. Họ đã được phối hợp để các điểm mã thực sự giống nhau.

Chúng được giữ riêng biệt, một phần vì Unicode được định nghĩa bởi một tập đoàn công nghiệp có thể hoạt động linh hoạt và có mối quan tâm lớn trong việc tiêu chuẩn hóa những thứ vượt quá các bài tập điểm mã đơn giản. Tiêu chuẩn Unicode xác định một số lượng lớn các nguyên tắc và quy tắc xử lý, không chỉ các ký tự. ISO 10646 là một tiêu chuẩn chính thức có thể được tham chiếu trong các tiêu chuẩn và các tài liệu khác của ISO và các thành viên của ISO.

9

Các điểm mã là giống nhau nhưng có một số khác biệt. Từ the Wikipedia entry about the differences between Unicode and ISO 10646 (i.e. UCS):

Sự khác biệt giữa chúng là Unicode cho biết thêm các quy tắc và thông số kỹ thuật nằm ngoài phạm vi của tiêu chuẩn ISO 10646. ISO 10646 là một bản đồ nhân vật đơn giản, một phần mở rộng của tiêu chuẩn trước đó như ISO 8859. Ngược lại, Unicode cho biết thêm quy tắc cho collation, bình thường hóa các hình thức, và các thuật toán hai chiều cho các kịch bản như Hebrew và tiếng Ả rập

Bạn có thể thấy hữu ích để đọc the Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

tôi nghĩ rằng sự khác biệt đến từ các đường tuyết e điểm được mã hóa. UCS-x sử dụng một lượng byte cố định để mã hóa một điểm mã. Ví dụ, UCS-2 sử dụng hai byte. Tuy nhiên, UCS-2 không thể mã hóa các điểm mã yêu cầu trên 2 byte. Mặt khác, UTF sử dụng số byte thay đổi để mã hóa. Ví dụ, UTF-8 sử dụng ít nhất một byte (đối với các ký tự ascii) nhưng sử dụng nhiều byte hơn nếu ký tự nằm ngoài phạm vi ascii.

+2

+1 cho liên kết tới bài viết * Joel on Software *. – DaveE

Các vấn đề liên quan