Что такое различие между объектами HTML и UTF-8?

Что такое различие между объектами HTML и UTF-8?

8
задан Daniel Sloof 18 May 2010 в 19:34
поделиться

5 ответов

См. Также UTF-8 как средство для без потерь и самосинхронизирующегося сопоставления списка натуральных чисел с байтовым потоком, чтобы вы могли вернуть натуральные числа (без потерь), и если вы просто упадете «посередине» потока - это не большая проблема. (самосинхронизация)

Каждое натуральное число просто представляет «символ».

Сущности HTML - это способ представления тех же натуральных чисел следующим образом: & # 127; , обозначает натуральное число 127, в юникоде это символ DEL . .

В кодировке UTF-8 это байтовый поток: 0111 1111

При превышении значения 127 он становится больше одного октета, следовательно, 128 становится: 1000 0001 1111 1111 .

Два символа DEL подряд становятся 0111 1111 0111 1111 . UTF-8 спроектирован таким образом, что всегда можно получить исходный список «скалярных значений Unicode» из байтового потока, даже если байтовый поток, например, из 4 октетов, может отображаться обратно в от 1 до 4 различных таких скаляров. ценности. Таким образом, UTF-8 имеет «переменную длину», как они ее называют.

3
ответ дан 5 December 2019 в 14:01
поделиться

UTF-8 - это кодировка, htmlentities - это функция, обеспечивающая безопасное отображение пользовательского ввода на странице, чтобы HTML-теги не добавлялись непосредственно в разметку. См. Руководство .

0
ответ дан 5 December 2019 в 14:01
поделиться

Буква «А», которую вы видите здесь, на экране, на самом деле не сохраняется в компьютере как «А», это скорее последовательность единиц и нулей. Набор символов или кодировка определяет способ кодирования символов таким образом. Набор символов ASCII включает в себя только несколько символов, которые он может кодировать, почти исключительно символы английского языка. Но по историческим причинам и техническим ограничениям того времени это был набор символов Интернета (очень рано).

Как UTF-8, так и HTML могут использоваться для кодирования символов, не являющихся частью ASCII. Сущности HTML достигают этого, придавая особое значение специальным последовательностям символов. С его помощью вы можете кодировать символы, не охваченные ASCII, используя только символы ASCII. UTF-8 (Unicode) делает то же самое, просто расширяя набор символов, чтобы включить больше символов. Сущности HTML «действительны» только в среде, где вы пытаетесь их декодировать, как правило, в браузере. Символы UTF-8 универсальны в любом приложении, поддерживающем этот набор символов.

Текст, содержащий только символы, охватываемые ASCII:

Цена: 20 долларов США (UTF-8)
Цена: 20 долларов США (ASCII с элементами HTML)

Текст, содержащий европейские символы, не охватываемые ASCII:

Beträge: 20 € (UTF-8)
Beträge: 20 € (ASCII с элементами HTML)

Текст, содержащий азиатские символы, определенно не охватываемый ASCII:

値 段 : 二千 円 (UTF-8)
値 段 : 二千 円 (ASCII с объектами HTML)

Проблема с UTF-8 заключается в том, что клиент должен понимать UTF-8 .В последнее десятилетие это не вызывает беспокойства, поскольку все современные компьютеры и браузеры без проблем понимают UTF-8. UTF-8 (Unicode) может кодировать практически все символы, используемые сегодня на этой планете (за небольшими исключениями). С его помощью вы можете работать с текстом "как есть". Это абсолютно предпочтительная кодировка для сохранения текста.

Проблема с HTML-объектами состоит в том, что обычные символы принимают особое значение. При написании ä он принимает особое значение «ä». Если вы действительно собираетесь написать «ä», вам нужно дважды закодировать последовательность как ä .
HTML-объекты также заведомо нечитаемы. Вы не хотите использовать их для кодирования «специальных» символов в обычном тексте. В этом качестве они - тупица, привязанная к неадекватному набору символов. Вместо этого используйте Unicode.

Важным применением сущностей HTML, которое не зависит от используемого набора символов, является отделение разметки HTML от текста. HTML также придает особое значение последовательностям специальных символов. текст - это обычная последовательность символов, но она имеет особое значение для анализаторов HTML. Если вы намеревались просто написать « текст », вам нужно будет закодировать его как текст , чтобы синтаксический анализатор HTML не принял его за HTML. теги.

3
ответ дан 5 December 2019 в 14:01
поделиться

UTF-8 - это схема кодирования для кодирования на уровне байтов.

Сущности HTML предоставляют способ выражения многих символов в стандартном (обычно ASCII) пространстве символов. Это также делает их более удобочитаемыми , когда UTF-8 недоступен.

Основная цель HTML Entities сегодня - гарантировать, что текст, который выглядит как HTML, отображается как текст. Например, операторы «Меньше» или «Больше» ( < или > ) при размещении в определенном порядке (т. Е. <Текст>) могут случайно отображаться как HTML, если их намерение было для них отображать как текст.

4
ответ дан 5 December 2019 в 14:01
поделиться

Тонна. Сущности HTML в первую очередь предназначены для экранирования HTML-разметки, чтобы ее можно было отображать в HTML (не путать отображение и вывод). Например, > выводит>, а> закрывает тег. Хотя вы можете создать полный Unicode с HTML-объектами, это очень неэффективно и совершенно уродливо.

UTF-8 - это многобайтовая кодировка для Unicode, которая описывает, как отображать символы вне классической кодовой страницы US ASCII, не прибегая к переключению кодовых страниц и попыткам смешивания кодовых страниц. Одна кодовая точка (воспринимайте ее как символ, хотя это неверно) может состоять из 6 байтов данных. Он предназначен для представления любого символа в базовой многоязычной плоскости (BMP) и за ее пределами, например, акцентированных символов, восточноазиатских символов, а также письменности кельтского дерева (огам) среди других наборов символов.

2
ответ дан 5 December 2019 в 14:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: