1

我有一个将二进制文件转换为 ASCII 文件的应用程序。使用探查器,我发现我花了 25% 的时间来处理从 BinaryWriter.Write(wchar[]) 调用的 Encoding.GetBytes()。这是完全正确的,因为我有许多与此类似的构造:

m_writer.Write("some fancy long text".ToCharArray());

你有什么聪明的主意如何避免这种编码转换吗?

我现在的一个想法是做类似的事情:

const byte[] SOME_FANCY_LONG_TEXT = Encoding.ASCII.GetBytes("some fancy ...");
// ... and later
m_writer.Write(SOME_FANCY_LONG_TEXT);

但我必须手动完成很多这样的条目。

4

1 回答 1

5

如果你正在创建一个文本文件,你为什么要使用BinaryWriter?只需使用TextWriter. BinaryWriter适用于您想要以简单方式编写原语、字符串等的二进制流。

(顺便说一句,您的所有文本都肯定是 ASCII 吗?您可能要考虑使用 UTF-8。)

于 2009-07-24T08:07:13.217 回答