2016-12-20 5 views
0

Я занимаюсь переносом данных из унаследованной системы, но я не уверен, какую кодировку он использует для хранения данных внутри страны. Я заметил, что данные соответствуют кодовым значениям ASCII (то есть символу ë или малой букве e с диарезисом, сохраняется как значение байта 137 согласно графику this).Преобразование расширенных кодов символов ASCII в ISO-8859-1

Мне нужно кодировать данные с использованием ISO-8859-1 для системы назначения, но, очевидно, использование данных as-is дает неверные результаты (в ISO-8859-1 знак на промилле представлен десятичным числом 137, согласно таблице this).

Мне нужно знать, какую кодировку я могу использовать при чтении данных, то есть кодировку, соответствующую десятичным значениям кода ASCII.

ответ

1

Я нашел свой ответ в this SO сообщение. Оказывается, кодовая страница 437 соответствует расширенным кодам символов ASCII. Таким образом, я смог повторно кодировать данные следующим образом:

var output = Encoding.Convert(Encoding.GetEncoding(437), Encoding.GetEncoding("ISO-8859-1"), input); 
Смежные вопросы