Что такое кодирование в XML? Обычным кодированием является utf-8. Чем она отличается от другой кодировки? Какова цель его использования?Что такое кодирование в XML?
ответ
character encoding определяет, как символы отображаются на байт. Поскольку XML-документы хранятся и передаются в виде потоков байтов, это необходимо для представления символов Unicode, которые составляют XML-документ.
UTF-8 выбран по умолчанию, так как он имеет ряд преимуществ:
- она совместима с ASCII в этом корректное ASCII текста в кодировке также действительны UTF-8 кодируются (но не обязательно наоборот !)
- он использует только 1 байт на символ для «простых» букв (те, которые существуют также в ASCII)
- он может представлять все существующие символы Юникода
Кодировки символов - это более общая тема, чем просто XML. UTF-8 - , а не, ограниченным использованием только в XML.
What Every Programmer Absolutely, Positively Needs To Know About Encodings And Character Sets To Work With Text - хорошая статья, которая дает хороший обзор по этой теме.
Документы XML могут содержать символы не ASCII, такие как норвежский æ ø å или French ê è é. Таким образом, чтобы избежать ошибок, вы устанавливаете кодировку или сохраняете XML-файл как Unicode.
Когда данные хранятся или передаются, это всего лишь байты. Эти байты требуют некоторой интерпретации. У пользователей с неанглийскими языками были проблемы с символами, которые появились только в их локали. Эти персонажи отображались неправильно.
С XML, имеющим информацию о том, как интерпретировать его байтовый символ, может отображаться корректно.
Обратите внимание, что сам английский язык также имел проблемы. [ASCII] (http://cstheory.stackexchange.com/questions/2066/difference-between-np-hard-and-np-complete) и [EBCDIC] (http://en.wikipedia.org/wiki/Extended_Binary_Coded_Decimal_Interchange_Code), например, используют совершенно разные кодировки даже для «нормальных» английских символов. Кодирование не только для «остального мира» ;-) –
@Joachim: Очень согласен. Гиперконсервативное и реакционное представление о том, что ASCII было достаточно для наших бабушек и дедушек, поэтому оно должно быть достаточно хорошим для нас, это смехотворно недальновидно - и подделка. Но ужасно распространено. – tchrist
Когда компьютеры были сначала созданы, они в основном работали только с символами, найденными на английском языке, что привело к 7-разрядному стандарту US-ASCII.
Однако в мире существует много разных письменных языков, и необходимо найти способы использовать их в компьютерах.
Первый способ работает отлично, если вы ограничиваете себя определенным языком, это использование кодирования, специфичного для культуры, такого как ISO-8859-1, который может представлять символы латинско-европейского языка на 8 бит или GB2312 для китайских персонажей.
Второй способ немного сложнее, но теоретически может представлять каждый символ в мире, это стандарт Юникода, в котором каждый символ из каждого языка имеет конкретный код. Однако, учитывая большое количество существующих символов (109 000 в Юникоде 5), символы Юникода обычно представлены с использованием трехбайтового представления (один байт для плоскости Юникода и два байта для символьного кода.
Для того чтобы максимизировать совместимость с существующим кодом (некоторые все еще используют текст в ASCII), стандартная кодировка UTF-8 была разработана как способ сохранить символы Юникода, используя только минимальное пространство, как описано в ответе Йоахима Зауэра.
Таким образом, обычно просматриваются файлы, закодированные с помощью определенных кодировок, таких как ISO-8859-1, если файл предназначен для редактирования или чтения только программным обеспечением (и людьми), понимающим только эти языки, и UTF-8, когда есть необходимость иметь высокую интероперабельность и независимость от культуры. Нынешняя тенденция заключается в том, что UTF-8 заменяет другие кодировки, хотя им нужна работа от разработчиков программного обеспечения, поскольку строки UTF-8 сложнее обрабатывать, чем строки набора символов фиксированной ширины.
Юникод также необходим для любительских видов знаков препинания и символов, таких как '¢ £ '' и' curly quotes 'и т. Д. Для Unicode не требуется существенно сложнее работать, если язык программирования начинается с Unicode в качестве базового набора символов; то вам не нужно беспокоиться о кодировании переменной ширины - или не должно. – tchrist
- 1. Что такое кодирование в Ajax?
- 2. Что такое кодирование в вакууме?
- 3. Что такое «кодирование по соглашению»?
- 4. Что такое кодирование и декодирование в общении?
- 5. Что такое правильное кодирование saveFileDialog1.ShowDialog();
- 6. Что такое универсальные соглашения о «чистое кодирование»?
- 7. Что такое кодирование оконного сообщения 641?
- 8. Что такое мягкое кодирование? (Anti-pattern)
- 9. Что такое кодирование \ u0641 \ u0648 \ u0627 \ u0632
- 10. Что такое Atom XML?
- 11. Что такое тэг xml?
- 12. Что такое & в XML?
- 13. XML сериализации, кодирование
- 14. xml Кодирование в Openerp
- 15. Кодирование txt в xml
- 16. Кодирование HTML в XML
- 17. Может ли кто-нибудь сказать мне, что такое кодирование?
- 18. Что такое использование ...- v21.xml?
- 19. Что такое метаданные XML Schema?
- 20. Что такое XHTML/XML QNames?
- 21. XML: что такое узел @attributes
- 22. Что такое мыло в пурпуре? что это такое? Что такое использование мыла/xml-RPC-пользователя?
- 23. Что такое соединение X (XML) в AJAX?
- 24. Что такое JMS? XML в JMS
- 25. Что такое знак вопроса в атрибуте XML?
- 26. Что такое комментарии XML в C#
- 27. Что такое использование XML в веб-приложениях?
- 28. Что такое канонизация в XML-подписи?
- 29. Работа с отслеживанием работы Windows Workflow ActivityId - Что такое кодирование?
- 30. Безопасное кодирование XML?
См. W3C [рекомендация по кодированию] (http://www.w3.org/TR/xml/#charencoding). – Nishant
@Nishant: это не очень хорошее введение в тему кодировок символов в целом. И я думаю, что это вопрос. –
Я только что добавил спецификации XML, как указано OP, «обычная кодировка - UTF-8». Это не должно быть ответом. – Nishant