J'ai une application .Net qui déclenche un processus, en passant une longue liste d'arguments via Process.StartInfo.Arguments. Le nouveau processus ne peut gérer que les caractères de 8 bits dans les arguments passés à sa fonction main(). Par conséquent, j'ai codé la chaîne dans Process.StartInfo.Arguments afin que chaque caractère soit une valeur 8 bits.Encodage de Process.StartInfo.Arguments
Le problème est que le nouveau processus ne voit pas les mêmes valeurs de 8 bits que j'ai utilisées. Pour les valeurs inférieures à 128, la valeur est transmise sans être importée. Les autres valeurs sont modifiées d'une manière ou d'une autre, et en fait, la liste d'arguments vue par le nouveau processus est souvent plus longue que celle passée.
Quel encodage est utilisé pour traduire les arguments lors de leur transmission au nouveau processus? Puis-je modifier ce codage?
Je vois les codages associés à la sortie standard du processus et à l'erreur standard; Je suppose que ce sont hors de propos.