2012-07-08 27 views
5

Nhiều người có lẽ đã có kinh nghiệm sao chép một số văn bản từ Word vào một mẫu trang web hoặc một cái gì đó, và tất cả các dấu ngoặc kép ('), dấu ngoặc kép (") và dấu gạch ngang (-) bị cắt xén. Tôi tin rằng dấu ngoặc kép được gọi là" Báo giá thông minh " hoặc "Báo giá của người viết chữ", nhưng tôi không biết tên của dấu gạch ngang. Có loại nào bao gồm các ký tự này không? Có nhiều hơn không?Có danh mục hoặc tên cho các ký tự như dấu ngoặc kép thông minh và dấu gạch ngang luôn bị phá vỡ không?

Đặc điểm nổi bật của danh mục này: Có thể truy cập bằng bàn phím qwerty thông thường và dễ dàng trực quan hiểu nhầm cho ASCII tương đương

câu hỏi này dường như bị đối phó với vấn đề tương tự:.? How do I convert Word smart quotes and em dashes in a string? Ngoài ra, có lẽ họ được gọi là "em dấu gạch ngang"

+0

Bạn có hỏi thuộc tính Unicode nào mô tả tất cả các ký tự có thể truy cập được bằng bàn phím thông thường và không thể nhầm lẫn với ASCII không? Tôi nghĩ rằng sẽ tạo ra câu trả lời chủ quan, vì bàn phím khác nhau trên toàn thế giới. Tôi nghĩ rằng tôi có lẽ không có bất kỳ khóa không phải ASCII trên đó. Hay bạn đang hỏi cụ thể về những gì tài sản Unicode sẽ xác định "trích dẫn như ký tự"? – DavidO

+0

Moreso nếu trong số các dev có một thuật ngữ cho những nhân vật peksy mà tôi nên googling để tìm một giải pháp mà đã thực hiện bộ lọc này. – Mikey

+1

Các ký tự "có thể truy cập bằng bàn phím qwerty thông thường" sẽ phụ thuộc vào ứng dụng bạn đang sử dụng. Trong MS Word, khi tôi nhập các ký tự trích dẫn kép, chúng được chuyển thành MARK QUÁ TRÌNH ĐÚNG (U + 201C) TRÁI và ĐÚNG ĐÚNG ĐÚNG (U + 201D). Khi tôi gõ chính xác điều tương tự ở đây trong trình duyệt web của tôi, chúng chỉ là QUOTATION MARKs (U + 0022). –

Trả lời

4

Có ít nhất 1.114.111 điểm mã Unicode hợp lệ. Bàn phím tiêu chuẩn của Mỹ làm cho những người nằm trong khoảng từ 1 đến 127 (cơ sở 10) dễ truy cập một cách hợp lý.

Khi bạn mạo hiểm vượt ra ngoài phạm vi đó, bạn bắt đầu tham gia vào một trong hai ngôn ngữ kiểu cũ hoặc nhiều điểm mã UTF8 (hoặc các mã Unicode) hiện đại khác. Nhiều người trong số các điểm mã có thể dễ dàng truy cập từ một bàn phím một nơi nào đó trên thế giới. Nhưng từ sự thoải mái của nhà riêng hoặc văn phòng của bạn, bạn sẽ tìm thấy một tập hợp khá nhỏ 1,1 triệu người đó để dễ dàng truy cập từ bàn phím của bạn.

Có một tài sản Unicode gọi QMark (tên ngắn), hoặc Quotation_Mark (tên dài), trong đó bao gồm 29 trích dẫn điểm mã phong cách (trong UTF8, hex): 0x0022, 0x0027, 0x00ab, 0x00bb, 0x2018, 0x2019 , 0x201a, 0x201b, 0x201c, 0x201d, 0x201, 0x201f, 0x2039, 0x203a, 0x300c, 0x300d, 0x300e, 0x300f, 0x301d, 0x301e, 0x301f, 0xfe41, 0xfe42, 0xfe43, 0xfe44, 0xff02, 0xff07, 0xff62 và 0xff63.

Đây là cách họ nhìn (giả định phông chữ của bạn hỗ trợ họ tất cả):

"'«»‘’‚‛“”„‟‹›「」『』〝〞〟﹁﹂﹃﹄"'「」

Có xảy ra là một tài sản Unicode ASCII, mà không đáng ngạc nhiên chứa 128 điểm mã giữa 0 và 127.

Tôi dường như không thể tìm thấy một thuộc tính Unicode chỉ định "Mọi thứ không phải là ASCII", nhưng bạn sẽ biết nó bằng thực tế là nó nằm ngoài phạm vi 0 .. 127.

Ngoài ra còn có một tài sản Hyphen Unicode có chứa mười một điểm mã: 0x002d, 0x00ad, 0x058a, 0x1806, 0x2010, 0x2011, 0x2e17, 0x30fb, 0xfe63, 0xff0d, và 0xff65. Tôi miễn cưỡng dán chúng ở đây, vì ít nhất hai trong số chúng không xuất hiện trong terminal của tôi. Nhưng ở đây đi:

-­֊᠆‐‑⸗・﹣-・

Như bạn thấy, một số là không thể phân biệt từ những người khác. Khi tôi sử dụng thuộc tính Hyphen trong Perl 5.16, tôi nhận được cảnh báo rằng thuộc tính Unicode cụ thể không được chấp nhận. Tôi không biết nếu đó là chỉ cho Perl, hoặc nếu nó cho Unicode nói chung.

Ngoài ra còn có thuộc tính Dash chứa 27 điểm mã. Tôi nghĩ bạn có ý tưởng, vì vậy tôi sẽ không liệt kê chúng ở đây. ... và tên khác có tên là Dash_Punctuation với 23 điểm mã. Lưu ý rằng nhiều điểm mã có thể được phân loại bởi nhiều thuộc tính Unicode, vì vậy có thể có sự chồng chéo giữa HyphenDash và thậm chí có thể chồng lên nhau hơn giữa DashDash_Punctuation - Tôi không biết và chưa chọn.

Tôi biết đây không phải là câu hỏi trọng tâm của Perl bằng bất kỳ phương tiện nào, nhưng tôi thấy rằng Perl có tài liệu khá tốt về các thuộc tính Unicode tại đây: perldoc perluniprops.

Vì vậy, tôi đoán câu trả lời ngắn cho câu hỏi, "Có nhiều hơn không?" là có, có khoảng 1,1 triệu người nữa.

Cập nhật: Về những ký tự pesky này được gọi .... Bạn phải phân biệt giữa các điểm mã và glyph. Một điểm mã là biểu diễn rõ ràng của một thực thể Unicode, trong khi glyph là hình thức của nó. Phông chữ khác nhau có thể thực hiện một glyph nhất định khác nhau. Vì vậy, những gì trông giống nhau trong một phông chữ có thể trông hơi khác nhau trong một phông chữ khác. Bắt đầu suy nghĩ về các điểm mã Unicode, và tên đầy đủ liên quan của chúng như là có ý nghĩa ngữ nghĩa, trong khi glyph là các biểu diễn đồ họa đơn giản (không đáng tin cậy).

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