У меня есть метод, который я написал на C#, который подключается к OpenVMS, запускает команду и затем возвращает результат.
Одна из выполняемых ею процедур DCL возвращает «форму» в виде строки, содержащей все виды кодировки ANSI.
Что я хочу сделать, так это разбить возвращаемую строку на массив на основе escape-символа ANSI в качестве разделителя, чтобы я мог дополнительно отсортировать его и позже построить отображение.
Проблема, с которой я сталкиваюсь, заключается в том, что escape-символ не выглядит так, как будто его распознают. Когда я проверяю строку в Visual Studio, я вижу стандартное форматирование ANSI со стрелкой, указывающей влево, которая выглядит следующим образом: ← между каждой записью. Это escape-символ.
Если я вставлю ту же строку в notepad++, она появится как ESC.
Я попытался разделить строку с разделителем \033, но это не сработало, я также пытался вставить символ ESC в переменную, но он просто вставляет пустое место.
Поэтому мне интересно, как мне узнать, какой код символа использует этот escape-символ, чтобы я мог использовать его в своем разделении.
Я бы опубликовал скриншот, но у меня нет представителя, чтобы сделать это, по-видимому.
редактировать: это то, что возвращается:
[02;27HDIVIDEND SETUP 11:25 Mon, 21 Jul 2014[04;05HCurrent attach point : VOD_TIM[07;05H Code Description[07;60HDate Run
Он не отображается как символ в StackOverflow, но если вы представляете, что персонаж находится перед каждым из сегментов, начинающихся с [
Редактировать 2: Хорошо, мы установили, что код int char равен 27, поэтому теперь проблема заключается в том, как мне использовать это в моем разделении?
Int32 charCode = (Int32)str[problemCharIndex]
, или сделайте то же самое в окне Watch во время отладки(Int32)str[problemCharIndex]
- person Eugene Podskal   schedule 21.07.2014int i = (int)str[0];
предоставляет вi
? - person Thorsten Dittmar   schedule 21.07.2014