我正在将应用程序的输出传送到我的 .NET 应用程序中。
编码有点奇怪。字母 ÅÄÖ 显示为 ├Ñ ├ñ ├Â</p>
我试图从各种不同的编码来回转换而没有任何成功。任何人都知道应该如何在这里正确转换字符串?
例如,应用程序的文档说输出是 UTF8,所以我试过这个:
byte[] encodedBytes = Encoding.UTF8.GetBytes(theOutput);
var res = Encoding.Default.GetString(encodedBytes);
结果不正确。
编辑:代码:
var processStartInfo = new ProcessStartInfo
{
CreateNoWindow = true,
RedirectStandardOutput = true,
RedirectStandardInput = true,
UseShellExecute = false,
Arguments = a,
FileName = path + "\\phantomjs.exe"
};
var process = new Process
{
StartInfo = processStartInfo,
EnableRaisingEvents = true
};
//capturing output here
process.OutputDataReceived +=
(sender, args) => outputBuilder.Append(args.Data);
process.Start();
process.BeginOutputReadLine();
process.WaitForExit(20000);
process.CancelOutputRead();