ISO-8859-1 по сравнению с UTF-8?

Если возможно, создайте класс сериализации, тогда сделайте:

XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("", "");
XmlSerializer serializer = new XmlSerializer(yourType);
serializer.Serialize(xmlTextWriter, someObject, ns);

Это более безопасно, и можно управлять пространствами имен с атрибутами при реальной необходимости в большем количестве управления.

49
задан Jitendra Vyas 12 December 2009 в 07:57
поделиться

4 ответа

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

Обратите внимание, что есть несколько разновидностей юникода. Джоэл Спольски дает обзор .

Unicode is winning (График по состоянию на февраль 2012 г. , см. Комментарий ниже для более точных значений.)

57
ответ дан 7 November 2019 в 11:51
поделиться

Если вы хотите мирового господства , используйте UTF-8 полностью, потому что это охватывает всех человеческих персонажей, доступных в мире, включая азиатских, Кириллица, иврит, арабский, греческий и т. Д., А ISO-8859 ограничен только латинскими символами. Вы не хотите иметь Моджибаке .

3
ответ дан 7 November 2019 в 11:51
поделиться

UTF -8 поддерживается везде в сети. Только в конкретных приложениях этого нет. Вы всегда должны использовать utf-8, если можете.

Обратной стороной является то, что для таких языков, как китайский, utf-8 занимает больше места, чем, скажем, utf-16. Но если вы не планируете переходить на китайский язык, или даже если вы переходите на китайский язык, тогда подойдет utf-8.

Единственный недостаток использования utf-8 заключается в том, что он занимает больше места по сравнению с различными кодировками, но по сравнению с на западных языках он почти не занимает лишнего места, за исключением очень специальных символов и тех дополнительных байтов, с которыми вы можете жить. Ведь мы в 2009 году. ;)

8
ответ дан 7 November 2019 в 11:51
поделиться
  • ISO-8859-1 - отличная кодировка для использования, когда пространство ограничено, и вы когда-либо захотите кодировать символы только из базовых латинских языков, которые она поддерживает. И вам никогда не придется даже думать о том, чтобы обновить свое приложение для поддержки нелатинских языков.

  • utf8 - фантастический способ (а) использовать большую кодовую базу из 8 бит на символьный код библиотеки, которые уже есть существовать, или (б) быть европейским снобом. utf8 кодирует стандартный ascii в 1 байт на символ, латинский 1 в 2 байта на символ, восточноевропейские и азиатские языки получают 3 байта на символ. Возможно, он увеличится до 4 байтов на символ, если вы начнете пытаться кодировать древние языки, которых не существует в базовой многоязычной плоскости.

  • utf16 - отличный способ начать новую кодовую базу с нуля. Это полностью нейтрально с точки зрения культуры - каждый получает справедливые 2 байта на символ. Для древних / экзотических языков ему действительно нужно 4 байта на символ - что означает - в худшем случае - он так же плох, как и его старший брат:

  • utf32 - пустая трата места.

-1
ответ дан 7 November 2019 в 11:51
поделиться
Другие вопросы по тегам:

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