У меня есть .Net-приложение, которое запускает процесс, передавая длинный список аргументов через Process.StartInfo.Arguments. Новый процесс может обрабатывать только 8-битные символы в аргументах, переданных его функции main(). Поэтому я закодировал строку в Process.StartInfo.Arguments, чтобы каждый символ был 8-битным значением.Кодирование процесса.StartInfo.Arguments
Проблема заключается в том, что новый процесс не видит те же 8-битные значения, которые я использовал. При значениях, меньших 128, значение проходит через unmolested. Другие значения каким-то образом меняются, и фактически список аргументов, рассматриваемый новым процессом, часто длиннее, чем то, что я передал.
Какая кодировка используется для перевода аргументов по мере их передачи в новый обработать? Могу ли я изменить эту кодировку?
Я вижу кодировки, связанные со стандартным выходом процесса и стандартной ошибкой; Я предполагаю, что это не имеет значения.