2013-03-28 30 views
6

Bài kiểm tra của tôi cho tôi biết rằng, với Unicode 6.2, tất cả các ký tự trong phân tách tương thích hoàn toàn đều có thuộc tính NFD_Quick_Check = Yes.Có phải là một chuỗi trong biểu mẫu bình thường về tính tương thích đã có trong biểu mẫu bình thường chuẩn tương ứng không?

Điều này dẫn tôi tin rằngNNKD (x) ngụ ý làNFD (x) và isNFKC (x) ngụ ý làNFC (x).

Kết luận của tôi có đúng không? Và còn về sự ổn định? Những hàm ý này có được đảm bảo giữ cho các phiên bản tương lai của tiêu chuẩn Unicode không?

Trả lời

1

Kết luận của bạn là chính xác. Mục Design Goals của Unicode chuẩn Phụ lục số 15 tiểu bang:

toNFKC(x) = toNFC(toNFKC(x)) 
toNFKD(x) = toNFD(toNFKD(x)) 

liên quan đến sự ổn định Với, điều này sẽ giữ đúng đối với các phiên bản tương lai của Unicode nếu chuỗi bình thường không chứa bất kỳ điểm mã unassigned.

+0

Sáu tháng sau! Cám ơn rất nhiều. Bây giờ ai đó có thể giải thích cho tôi làm thế nào địa ngục tôi đã bỏ lỡ điều này? ;) –

0

Tôi đã tìm thấy here sau đây cho biết: Thao

Nói cách khác, giai đoạn thành phần của NFC và NFKC đều giống nhau -only giai đoạn phân hủy của họ khác với, với NFKC áp dụng phân tách tương thích.

Sau đó, cũng là thế này:

Có hai hình thức bình thường mà chuyển đổi sang nhân vật tổng hợp: Normalization Form C và Normalization Form KC. Sự khác biệt giữa những điều này phụ thuộc vào việc văn bản kết quả là tương đương chuẩn với văn bản gốc không chuẩn hóa hoặc khả năng tương thích tương đương với văn bản gốc không chuẩn hóa ban đầu. (Trong NFKC và NFKD, một K được sử dụng để phù hợp để tránh nhầm lẫn với C đứng cho thành phần.) Cả hai loại bình thường hóa có thể hữu ích trong các trường hợp khác nhau.

Trong ba con số đầu tiên, hình thức NFKD luôn luôn là giống như các hình thức NFD, và hình thức NFKC luôn luôn là giống như các hình thức NFC, vì vậy vì đơn giản những cột được bỏ qua.

Đây là những gì tôi có thể chọn ra khỏi văn bản có thể làm sáng tỏ ít nhất một phần câu hỏi của bạn. Hy vọng nó giúp

Ngoài ra còn có bảng này trong Wikipedia article:

NFD Normalization Form Canonical phân hủy: Nhân vật được phân hủy bởi tương đương kinh điển, và nhiều nhân vật kết hợp được sắp xếp theo một thứ tự cụ thể.

NFC Biểu mẫu chuẩn hóa Thành phần chính: Các ký tự bị phân hủy và sau đó được sắp xếp lại theo sự tương đương chuẩn.

NFKD Hình thức chuẩn hóa Khả năng tương thích Phân tách: Ký tự được phân tách theo khả năng tương thích và nhiều ký tự kết hợp được sắp xếp theo thứ tự cụ thể.

NFKC Hình thức chuẩn hóa Khả năng tương thích Thành phần: Các ký tự bị phân hủy theo khả năng tương thích, sau đó được sắp xếp theo sự tương đương chuẩn.

Nhìn vào những giải thích về những điều này là gì, tôi không nghĩ bạn có thể kết luận rằng cái này ngụ ý cái kia.NFD phân hủy theo sự tương đương chuẩn, trong khi NFKD bị phân hủy theo khả năng tương thích.

Trong cùng bài báo đó cũng nói:

các tiêu chuẩn tương đương có thể là kinh điển (NF) hoặc tương thích (NFK).

Với tôi điều này có nghĩa là tính hợp lý hoặc tính tương thích của nó. NFD và NFKD làm những việc khác nhau.


Trong implementation notes bài viết này nó nói:

Đối với tất cả các phiên bản, thậm chí trước khi Unicode 4.1, chính sách sau đây được theo sau:

Một chuỗi bình thường là đảm bảo được ổn định; có nghĩa là, sau khi được chuẩn hóa, một chuỗi được chuẩn hóa theo tất cả các phiên bản Unicode tương lai.