2010-05-31 33 views
5

Ich schreibe eine Reihe von Strings in eine Datei mit einem String - Writer, aber ich habe ein Problem entdeckt, wenn ich auf die hexadezimale Datei, und das bedeutet, dass eines der Leerzeichen (x20) durch ein Leerzeichen ersetzt wird (xc2 a0), wenn zwei Wörter getrennt sind. Ich weiß nicht, ob das eine große Sache ist, aber ich würde gerne wissen, ob es eine einfache Lösung dafür gibt?StreamWriter Problem - 2 Leerzeichen geschrieben als Hex '20 c2 a0 'anstelle von Hex '20 20'

Hier ist, was ich sehe:

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

Aber ich würde es immer sein mögen:

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

Beachten Sie, dass die c2 a0 hier nicht sichtbar sind, aber der Dump sieht ungefähr so ​​aus 'EIN.' wenn ich das Hex-Plugin Notepad ++ benutze.

Hat jemand irgendwelche Ideen?

Prost und Danke im Voraus;

-Daver

+0

Ich versuchte und bekam das erwartete Ergebnis ... könnten Sie Ihren Code posten? Wo kommt die Saite her? –

+0

Ich würde annehmen, dass die Quelle ein nicht-brechendes Leerzeichen enthält. Sie könnten sie vor dem Schreiben ersetzen. Woher bekommst du deine Quelle? –

+0

Das ist schnell. Die Quelle ist: // Transaktion # 1. Transaktion transaction1 = InitializeTransaction (_tranId1, TransactionProcessing.Currency.CurrencyCode.CAD, transactionDate, (dezimal) 24939.34, @ "CIBC SWEEP" .ToString(), "3"); – Daver

Antwort

5

Wenn Ihre Quelle geschützte Leerzeichen enthält, kann man sie ersetzen, bevor die Zeichenfolge auszuschreiben.

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

Brilliant! Du hast es geschafft. Kostenloser Kaffee für Sie, wann immer Sie in Kanada sind. – Daver

Verwandte Themen