2016-06-29 26 views
13

Tôi đang viết một chương trình python để đánh giá biểu tượng cảm xúc bằng tập hợp biểu tượng cảm xúc được thu thập. Trong thử nghiệm, tôi thấy rằng một biểu tượng cảm xúc, lấy làm ví dụ, có hai unicode, u'\u2601'u'\u2601\ufe0f', nghĩa là gì \ufe0f có nghĩa là gì? Nó có giống nhau không nếu tôi xóa nó?Một số biểu tượng cảm xúc (ví dụ: have) có hai unicode, u ' u2601' và u ' u2601 ufe0f'. U ' ufe0f' có nghĩa là gì? Nó có giống nhau không nếu tôi xóa nó?

+2

Thực tế điều này cung cấp thêm thông tin ... Về màu sắc và nội dung. Đó là một [Dạng biến thể] (https://en.m.wikipedia.org/wiki/Variant_form_ (Unicode)). –

+0

FE0F là [bộ chọn biến thể] (https://en.m.wikipedia.org/wiki/Variant_form_ (Unicode)) –

+2

@PraveenKumar có vẻ giống như một câu trả lời, bạn có nghĩ vậy không? –

Trả lời

6

Trong Unicode giá trị U+FE0F được gọi là variation selector. Bộ chọn biến thể trong trường hợp biểu tượng cảm xúc là để báo cho hệ thống hiển thị ký tự cách xử lý giá trị. Nghĩa là, liệu nó có nên được coi là văn bản hay là một hình ảnh có thể có các thuộc tính bổ sung, như màu sắc hoặc hoạt ảnh.

For emoji có hai bộ chọn biến thể khác nhau có thể được áp dụng, U+FE0EU+FE0F. U+FE0E chỉ định rằng biểu tượng cảm xúc sẽ được hiển thị như văn bản. U+FE0F chỉ định rằng nó phải được trình bày dưới dạng hình ảnh, với màu sắc và hoạt ảnh có thể.

Không có bộ chọn biến thể, ký tự vẫn hiển thị tốt, (chỉ cần xem nguồn trang tại ký tự này: & # x2601;) nhưng không có thêm thông tin về bản trình bày.

+0

Biểu tượng cảm xúc mà không có bộ chọn biến thể nào có hợp lệ không? – syntonym

+0

Có. Nếu bạn nhìn vào nguồn trang nơi ghi chú nằm trong đoạn cuối của tôi, bạn sẽ thấy rằng tôi chỉ đặt ký tự biểu tượng cảm xúc '& # x2601;' chứ không phải bộ chọn biến thể – theB

10

Đó là Variant Form, cung cấp thêm thông tin cho những màn hình đó, có khả năng hiển thị bằng màu sắc và những thứ khác.

This chart mang đến cho bạn sự khác biệt giữa FE0FFE0E:

enter image description here

Bạn có thể xem xét rằng phiên bản FE0E là dạng văn bản unicode, và phiên bản FE0F là với đồ họa (những mà có khả năng sẽ hiển thị đồ họa), trong đó duyên dáng xuống cấp cho phiên bản văn bản, khi hiển thị đồ họa không có sẵn.

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