Я имею основанную на форме программу C# и использовал Систему. Текст. Кодирование. GetEncoding (1252), но я испытал затруднения при чтении неанглийских символов, я обнаружил Систему. Текст. Кодирование. GetEncoding (1255) работы однако, я не знаю последствий изменения этого так, я надеюсь, что кто-то может пролить некоторый свет на различие и возможные последствия.
Вероятно, вы захотите использовать одну из «именованных» кодировок Unicode, например, Encoding.UTF8
. Но, отвечая на ваш вопрос - страница 1252 - это «Западноевропейская (Windows)», а 1255 - «Иврит (Windows)».
Если вы не знаете, кодовые страницы в значительной степени являются пережитком ASCII , и вам следует по возможности придерживаться Unicode.
Я рекомендую вам прочитать статью Джоэла Спольски Абсолютный минимум для каждого разработчика программного обеспечения Абсолютно, положительно Необходимо знать о Unicode и наборах символов (без оправданий!)
Ваша кодировка всегда должна соответствовать той, которая была использована при создании файла. Если нет метаданных (или человека), которые могли бы подсказать этот выбор, то единственное, что можно сделать, это попробовать каждую из них и посмотреть, какая из них читабельна. Поскольку это, очевидно, на языке, которого вы не знаете, вам может понадобиться спросить кого-то, кто говорит на этом языке, можно ли его прочитать. Знаете ли вы кого-нибудь, кто умеет читать на иврите?
Кодировка 1255 включает символы иврита, тогда как 1252 ориентирована на западные языки. Это случай, когда неанглийские символы оказываются на иврите?
1252 - это Windows-1252 Western European (Windows)
1255 - это Windows-1255 Hebrew (Windows)
источник: http: //msdn.microsoft.com/en-us/library/system.text.encodinginfo.codepage.aspx
Когда вы используйте GetEncoding (1252), вы указываете Windows-1252 Encoding , которая определяет латинский алфавит для Западной Европы. GetEncoding (1255) - это кодировка Windows-1255 , которая используется для записи на иврите.