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