我正在尝试将以下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);
知道怎么解决吗?谢谢!
答案 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);
丑陋,但做的工作是:)