将python struct.pack转换为C#

时间:2013-10-11 00:48:08

标签: c# python

我正在尝试将以下python代码转换为C#

sys.stdout.write(struct.pack('I', len(message)))
sys.stdout.write(message)
sys.stdout.flush()

我需要将C#程序输出到控制台。尝试以下,但C#和python程序输出不一样 - struct.pack部分似乎搞砸了。

Stream stdout = Console.OpenStandardOutput();
stdout.WriteByte((byte)message.Length);
Console.Write(message);

知道怎么解决吗?谢谢!

1 个答案:

答案 0 :(得分:0)

结果是struct.pack输出了3个额外的空字符,这搞乱了结果。

以下是有效的代码:

Stream stdout = Console.OpenStandardOutput();
stdout.WriteByte((byte)message.Length);
stdout.WriteByte((byte)'\0');
stdout.WriteByte((byte)'\0');
stdout.WriteByte((byte)'\0');
Console.Write(message);

丑陋,但做的工作是:)