Encoding getencoding: Encoding.GetEncoding Метод (System.Text) | Microsoft Learn

С# — В чем разница между Encoding.GetEncoding(1255) и Encoding.GetEncoding(1252)?

Задать вопрос

спросил

Изменено 2 года, 3 месяца назад

Просмотрено 28 тысяч раз

У меня есть программа на основе формы C#, и я использую

System.Text.Encoding.GetEncoding(1252)

, но у меня возникли проблемы с чтением неанглийских символов, я обнаружил

System. Text.Encoding.GetEncoding(1255)

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

  • С#
  • .net
  • кодировка

Я рекомендую вам прочитать статью Джоэла Спольски «Абсолютный минимум, который каждый разработчик программного обеспечения обязательно должен знать о Unicode и наборах символов (без оправданий!)

0

При использовании GetEncoding(1252) вы указываете кодировку Windows-1252, которая указывает латинский алфавит для Западной Европы. GetEncoding(1255) — это кодировка Windows-1255, которая используется для записи на иврите.

Кодировка символов 1255 включает символы иврита, тогда как 1252 ориентирована на западные языки. Это тот случай, когда неанглийские символы являются ивритскими?

1

1252 — Windows-1252 Западноевропейская (Windows)

1255 — Windows-1255 Иврит (Windows)

источник: http://msdn.microsoft.com/en-us/library/system.text.encodinginfo.codepage .aspx

Ваша кодировка всегда должна совпадать с той, которая использовалась для создания файла. Если нет доступных метаданных (или человека), которые могли бы помочь в этом выборе, то единственное, что можно было бы сделать, — это попробовать каждый из них и посмотреть, какой из них разборчив. Поскольку это, по-видимому, на языке, который вы не знаете, вам может потребоваться спросить кого-то, кто говорит на этом языке, можно ли это прочитать. Вы знаете кого-нибудь, кто умеет читать на иврите?

Вероятно, вы захотите использовать одну из «именованных» кодировок Unicode, например, Encoding. UTF8 . Но, чтобы ответить на ваш вопрос, страница 1252 — это «Западноевропейская (Windows)», а 1255 — «Иврит (Windows)».

Если вы не знаете, кодовые страницы в значительной степени являются пережитком ASCII, и вы должны стараться придерживаться Unicode, где это возможно.

2

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя адрес электронной почты и пароль

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Документация JDK 19 — Главная

Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *