Получите окрашенный консольный вывод в приложение WPF

& #151; является неправильным. При использовании ссылок цифрового символа число относится к кодовой точке Unicode. Для чисел ниже 256, который совпадает с кодовой точкой в ISO-8859-1. В 8859-1, символ 151 среди codes” управления “C1, и не тире или любого другого видимого символа.

беспорядок возникает, потому что символ 151 является тире в кодовой странице 1252 Windows (западноевропеец). Многие люди думают, что cp1252 является тем же самым как ISO-8859-1, но в действительности это не: символы в диапазоне C1 (128 - 159) отличаются.

первое приложение читает Ваш файл “ASCII”* как ISO-8859-1, но на самом деле это, вероятно, cp1252, и Вам будет нужен путь к подсказке приложение приблизительно в, какое кодирование это должно ожидать.

(*: “ASCII” является неправильным употреблением, если существуют символы главного набора битов в файле. Вы, вероятно, имеете в виду “ANSI”, который является действительно также неправильным употреблением, но тот, который всунул мир Windows для значения “text, закодированного в текущем системном значении по умолчанию, кодирует page”.)

8
задан Community 23 May 2017 в 10:33
поделиться

1 ответ

Если я понимаю, что вы Если вы хотите работать правильно, вы хотите очистить устаревшее приложение, работающее на консоли, и получить его вывод консоли в элементе управления в приложении WPF через yourprocess.StandardOutput .

Данные цвета (и форматирование ), поступающий с консоли, будет иметь формат ANSI. Это будет отображаться в виде управляющих символов в перенаправленном тексте консоли, который будет отображаться как расширенные символы и числа ASCII. Вам понадобится элемент управления интерпретатором ANSI, чтобы преобразовать это обратно в данные цвета. Я знаю, что существует несколько оконечных элементов управления ANSI, которые можно легко адаптировать - этот в Code Project может обрабатывать форматирование ANSI,

13
ответ дан 5 December 2019 в 12:59
поделиться
Другие вопросы по тегам:

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