2010-05-31 67 views
5

我正在使用字符串編寫器向一個文件寫入一串字符串,但是當我看到文件以十六進制創建,並且當有兩個空格分隔單詞時,其中一個空格(x20)被替換爲非空白空格(xc2 a0)。我不知道這是不是一個大問題,但我想知道這是否有一個簡單的解決方案?StreamWriter問題 - 2個空格寫成十六進制'20 c2 a0'而不是十六進制'20 20'

這裏是我所看到的:

20 c2 a0 53 57 45 45 50 Dump = "  SWEEP" 

但我想它總是:

20 20 53 57 45 45 50 Dump = " SWEEP" 

注意,C2 A0在這裏不是可見,但轉儲看起來像'一個。'當我使用Notepad ++ Hex插件。

有沒有人有任何想法?

歡呼聲及提前致謝;

-Daver

+0

我試過,並得到了預期的結果......你可以發佈你的代碼?另外,字符串從哪裏來? – 2010-05-31 22:05:57

+0

我會假設源代碼包含一個不間斷的空間。你可以在寫之前更換它們。你從哪裏獲得源代碼? – 2010-05-31 22:06:36

+0

這很快。來源是: //事務#1。 Transaction transaction1 = InitializeTransaction(_tranId1,TransactionProcessing.Currency.CurrencyCode.CAD, transactionDate, (decimal)24939.34,@「CIBC SWEEP」.ToString(),「3」); – Daver 2010-05-31 22:47:39

回答

5

如果源中包含非中斷空格就可以寫出來的字符串之前替換它們。

string sourceString = ..some string... 
sourceString = sourceString.Replace((char)160, ' '); //replace nobr with space 
+0

太棒了!你做到了。每當你在加拿大時都可以免費享用咖啡。 – Daver 2010-05-31 22:49:58