我有一个应用程序可以将二进制文件转换为 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);
但我必须手动完成许多此类条目。
最佳答案
如果您要创建一个文本文件,为什么要使用 BinaryWriter
?只需使用 TextWriter
。 BinaryWriter
适用于您想以简单方式编写原语、字符串等的二进制流。
(顺便说一句,您的所有文本肯定都将是 ASCII 吗?您可能需要考虑改用 UTF-8。)
关于c# - 智能 ASCII 字符串表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1176309/