【发布时间】:2012-08-19 18:39:49
【问题描述】:
我有一个byte[] 数组并想将其写入标准输出:Console.Out.Write(arr2str(arr))。如何将byte[] 转换为字符串,以便app.exe > arr.txt 执行预期的操作?我只想使用管道将数组保存到文件中,但是编码会搞砸。
稍后我想从标准输入读取该字节数组:app.exe < arr.txt 并得到相同的结果。
我该如何做这两件事:向/从 stdin/stdout 写入和读取字节数组?
编辑:
我正在阅读string s = Console.In.ReadToEnd(),然后是System.Text.Encoding.Default.GetBytes(s)。我正在使用System.Text.Encoding.Default.GetString(bytes) 从数组转换为字符串,但是在与<、> 一起使用时这不起作用。 “不起作用”是指通过管道写入和读取不会返回相同的内容。
【问题讨论】:
-
原始字节不应保存到文本文件中。但是,
>适用于Console.WriteLine -
@ColeJohnson:想象一下我保存到 arr.bin,而不是 arr.txt :p