Являются ли символы Юникода лучше или более семантическими, чем простые текстовые версии?

Когда я копирую/вставляю текст с большинства сайтов и PDF-файлов, следующие символы почти всегда находятся в эквиваленте Юникода:

  • двойная кавычка: "есть и (“ и ”)
  • одинарная кавычка: 'есть и (‘ и ’)
  • многоточие: ... это (…)

Я понимаю те, которые не могут быть представлены без юникода, такие как и , но даже для них мне интересно.

Когда вы должны использовать эти эквиваленты Unicode? Являются ли они более семантическими, чем их неиспользование? Они лучше интерпретируются устройствами (копирование/вставка/печать)? Меня всегда раздражает получение этих символов кавычек и многоточия, потому что с программированием textmate + вы их не используете.


person Lance Pollard    schedule 23.03.2011    source источник
comment
Когда вы говорите unicode, вы на самом деле имеете в виду HTML entity. Юникод это совсем другое.   -  person Álvaro González    schedule 23.03.2011
comment
Альваро Г. Викарио: На самом деле, я почти уверен, что viatropos означает юникод, а объекты HTML упоминаются, чтобы пояснить, какой символ имеется в виду.   -  person pinkgothic    schedule 23.03.2011
comment
@pinkgothic - Возможно, ты прав. На всякий случай я вернулся к исходным тегам.   -  person Álvaro González    schedule 23.03.2011


Ответы (5)


Я думаю, этому есть простое объяснение: MS Word автоматически преобразует эти символы/последовательности по мере того, как вы печатаете, и многие тексты в Интернете были скопированы из этого текстового редактора.

Большинство статей, которые я получаю для своего сайта от других авторов, отправляются в виде файла .doc, и мне приходится его конвертировать. Обычно он содержит эти символы, которые вы упомянули.

Я бы также добавил еще одно: много разных типов тире вместо дефиса. А также низкая открывающая двойная кавычка (как в некоторых европейских языках).

Я обычно оставляю их в тексте (все мои страницы в юникоде). Просто важно помнить об этом, играя с регулярными выражениями и т. д. (особенно тире могут быть хитрыми и их трудно обнаружить).

person Czechnology    schedule 23.03.2011
comment
но я имею в виду, что лучше это делает MS Word? зачем конвертировать кавычки и тире, почему их просто не оставили? - person Lance Pollard; 23.03.2011
comment
@viatropos, я не эксперт в типографике. Точно так же, как лигатуры, это просто то, что исторически делалось давно и делается тем не менее, обычно по причинам языка/региона или просто для красоты текста. (Исключение составляют тире/дефисы, поскольку каждый из них имеет разное грамматическое значение) - person Czechnology; 23.03.2011
comment
@viatropos — Автоматические замены, которые делает MS Word, можно отключить в настройках программы, если вам это не нравится в ваших собственных документах. (Обычно я отключаю все «автокоррекции», потому что мне нравится иметь полный контроль над текстом. Затем я использую комбинации ALT-цифровая клавиатура для ввода правильных кавычек и тире.) - person Jeffrey L Whitledge; 23.03.2011
comment
Я использую раскладку клавиатуры с умными кавычками и дефисами, доступными напрямую, поэтому я могу набирать их, когда мне действительно нужно, и по-прежнему получать прямые кавычки, когда они мне нужны. Функции автоматической замены никогда не работают правильно! - person bobince; 25.03.2011

Когда вы должны использовать эти эквиваленты Unicode? Являются ли они более семантическими, чем их неиспользование?

Обратите внимание, что это не «эквиваленты Unicode». Эти символы доступны во многих наборах символов, отличных от Unicode, и они строго отличаются от альтернатив, которые вы предлагаете.

В типографике правильная и левая версии одинарных и двойных кавычек являются правильными. Они обеспечивают традиционный внешний вид для тех персонажей, которые уже много лет используются в печатных СМИ. Символ многоточия обеспечивает правильный интервал для многоточия, который не возникает естественным образом при использовании последовательных символов точки. Таким образом, причина, по которой все это используется, заключается в том, чтобы текст правильно отображался для читателей.

Они лучше интерпретируются устройствами (копирование/вставка/печать)?

Любая система, использующая любой набор символов, должна быть спроектирована так, чтобы правильно обрабатывать этот набор символов. Если текст закодирован в Unicode, то любая недавняя система (по крайней мере, за последние 15 лет) должна быть в состоянии его обработать, поскольку Unicode де-факто является стандартным набором символов для всех современных систем.

Не все системы, совместимые с Unicode, смогут правильно отображать все символы. Это будет зависеть от доступных шрифтов и даже от системы рендеринга, которая использует шрифты. Но любая система, совместимая с Unicode, сможет передавать символы без изменений (например, при операции копирования и вставки).

Меня всегда раздражает получение этих символов кавычек и многоточия, потому что с программированием textmate + вы их не используете.

Необычно копировать текст на английском (или любом другом языке) непосредственно в программу, не добавляя к этому тексту отдельные разделители. Но у большинства современных языков программирования не возникнет проблем с обработкой текста, если он ограничен свойствами.

Любые системы, которые не могут правильно обрабатывать Unicode, должны быть обновлены. Устаревшим кодировкам символов не будет места в будущем.

person Jeffrey L Whitledge    schedule 23.03.2011

Объекты HTML служат тройной цели:

  1. Возможность использовать символы, не принадлежащие набору символов документа, например, вставить символ евро в документ ISO-8859-1.

  2. Экранирующие символы, имеющие особое значение в HTML, например угловые скобки.

  3. Упростите ввод символов, которых нет на вашей клавиатуре или которые не поддерживаются вашим редактором, например. символ авторского права.

Обновление:

Моя информация верна, но я подозреваю, что ответил не на тот вопрос...

person Álvaro González    schedule 23.03.2011
comment
Я проголосовал за это (затем ответил на другой вопрос), потому что подумал, что это отличный ответ на правдоподобную интерпретацию вопроса. :-) - person Jeffrey L Whitledge; 23.03.2011

В Интернете я бы посчитал, что разметка добавляет семантическое значение, а контент — нет. Так что на самом деле не имеет значения, что вы используете в этом контексте.

Типографы настаивали бы на “ и ”, тогда как программистам все равно, и они просто использовали бы обычные старые кавычки ".

Ключевым моментом здесь является интероперабельность. Существуют разные схемы кодирования. Как мы все становимся жертвами, люди вставляют содержимое в редактор из WORD, который использует кодировку Windows-1251. Когда вы передаете этот контент через AJAX, обычно это прерывается, потому что AJAX по умолчанию использует кодировку UTF-8.

Office 2010 теперь позволяет сохранять документы в формате UTF-8. Кроме того, базы данных имеют разные схемы кодировки Unicode. Лучше всего использовать сквозную кодировку UTF-8.

person Diodeus - James MacFarlane    schedule 23.03.2011

Когда вы копируете текст, содержащий специальные символы, они остаются такими, какие они есть. Это совершенно нормально, если символы соответствуют кодировке, используемой веб-страницей.

Сущности HTML — это просто удобство для создания определенных символов в любом наборе символов. Клавиатуры, как правило, не имеют клавиш для получения таких символов, как ©, поэтому объект HTML является ярлыком.

Я собираюсь обобщить и сказать, что большую часть времени содержимое UTF-8 (пожалуйста, поправьте меня, если я ошибаюсь). Скопированные символы обычно копируются правильно, и все работает отлично, если они не копируются правильно, или кодировка может быть изменена, или вам нужна поддержка i18n, используйте объекты HTML или XML. . В противном случае оставьте их как есть, браузер отобразит их нормально.

person zzzzBov    schedule 23.03.2011