Mic*_*der 1 c# string optimization encoding ascii
我有一个应用程序将二进制文件转换为ASCII文件.使用分析器我发现我花了25%的时间做了从BinaryWriter.Write(wchar [])调用的Encoding.GetBytes().这是完全正确的,因为我有许多类似于这个的结构:
m_writer.Write("some fancy long text".ToCharArray());
Run Code Online (Sandbox Code Playgroud)
你有任何聪明的想法如何避免这种编码转换?
我现在有一个想法是做类似的事情:
const byte[] SOME_FANCY_LONG_TEXT = Encoding.ASCII.GetBytes("some fancy ...");
// ... and later
m_writer.Write(SOME_FANCY_LONG_TEXT);
Run Code Online (Sandbox Code Playgroud)
但我必须手动执行许多此类条目.
如果您要创建文本文件,为什么要使用它BinaryWriter
?只需使用一个TextWriter
.BinaryWriter
适用于二进制流,您希望以简单的方式编写基元,字符串等.
(那么你的所有文本肯定都是ASCII吗?你可能想考虑使用UTF-8代替.)