I have a string in a WPF app which I pass as a command line argument to a native application using Process.StartInfo.Arguments property. I know that C# stores strings in UTF-16 encoding. And also I know that native application does nothing about encoding and expects that it is default which is windows-1251 in my country. So we have UTF-16 in C# app and 1251 in a native one. And this actually works somehow.
The question is where the convertion took place and how reliable it is. Is there a way to force Process class use specific encoding for the command line arguments?