2009-07-24 72 views
1

我有一個將二進制文件轉換爲ASCII文件的應用程序。通過探查器,我發現我花了25%的時間完成從BinaryWriter.Write(wchar [])調用的Encoding.GetBytes()。這是完全正確的,因爲我有許多與此類似的構造:智能ASCII字符串表示

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); 

但我有許多這類項目做手工。

+1

可否請你具體談談「二進制文件轉換成ASCII文件「?您準確應用了哪種轉換? – FWH 2009-07-24 08:02:10

+0

二進制文件到ASCII文件有什麼區別? (你是什麼意思) – 2009-07-25 10:36:35

回答

5

如果你正在創建一個文本文件,你爲什麼要使用BinaryWriter?只需使用TextWriterBinaryWriter適用於想要以簡單的方式編寫基元,字符串等的二進制流。

(都是你的文字絕對將是ASCII,順便說一句?你可能要考慮使用UTF-8來代替。)