2011-10-14 17 views
2

在我當前的代碼中,我使用此代碼用於具有分隔符選項卡的文件,因此我在代碼 中使用'\ t'現在分隔符改爲§而不是tab,所以應該使用什麼ASCII轉義序列。在.net文件I/O期間的字符串操作 - 在它現在是選項卡之前它是§

當前代碼:

string[] strFields = inputRecord.Split('\t'); 

新代碼:

string[] strFields = inputRecord.Split('***'); what *** should be? 

我試着用§但不工作

+0

當你使用'§'時會發生什麼?不需要轉義序列。 – DeCaf

+0

如何打開文件並從中讀取?你可以發佈該代碼嗎?此外,你可以嘗試讀取文件作爲原始字節,看看實際的字節值是什麼? –

回答

1

你可能讀錯編碼的文件。嘗試不同的編碼:

new StreamReader(fileName, Encoding.GetEncoding("iso-8859-1"))) 
0

你是否在Unicode字符轉義代碼試圖把呢?

string[] strFields = inputRecord.Split('\u00A7'); 

雖然使用§直文本爲我工作:

string[] strFields = inputRecord.Split('§'); 

你確定你使用了正確的Unicode字符?由於.NET字符串是unicode,您確定該字符正在映射到該unicode字符嗎?例如,如果您的源字符串是ansi,它可能與代碼頁類似。

編輯:我想嘗試馬克的建議,它可能是一個代碼頁的問題,我懷疑他的解決方案是可行的。

相關問題