我有string
并希望将其写入Stream
实例。鉴于我不想将流包装在StreamWriter
中,因为非字符串数据也写入同一个流,最简单的方法是:
byte[] bytes = myEncoding.GetBytes(string);
stream.Write(bytes 0, bytes.Length);
这是我程序中性能非常关键的部分,我想避免不必要地创建中间字节数组。是否可以在.net中完成,而无需重新实现System.Text
命名空间的字符串编码功能?
使用Encoder.Convert(Char[], Int32, Int32, Byte[], Int32, Int32, Boolean, Int32, Int32, Boolean),我理论上可以使用自己的重用Byte[]
数组进行循环,这看起来不是最有效的方法,尽管它可能比{{{{}}更有效。 1}}变体。
那么有没有直接的方法将字符串写入我错过的Stream?