2011-08-12 100 views
0

enter image description here爲什麼這兩個文本文件有什麼區別?

我們就像遷移和舊的應用程序到一個新的架構。記事本中顯示的兩個文件是DAT文件。第一個文件是由舊應用程序創建的。第二個是由「新實施」創建的。

新實現背後的一點歷史:這些應用程序(在「新實現」中)應該託管在Web場環境中。有一個特定的應用程序薪資 - 這是負責創建下面顯示的文件的應用程序。我曾使用visual studio的預處理文本模板來生成DAT文件。當時沒有涉及網絡服務。但後來我們決定創建這樣的文件需要集中。

所以我們公開了一個web服務來做到這一點。

本質上沒有邏輯上的變化。我仍然使用預處理的模板。但是這個模板的輸出是通過網絡傳輸到網絡服務的。之後,文件開始出現,如第二張圖片所示。

集中之前沒有問題。那麼這裏發生了什麼?我怎樣才能使DAT文件(在新的實現中)看起來與舊的一樣?

+0

您是否試過在十六進制編輯器中查看這些文件? –

+0

看起來發送者和接收者之間的字符集不同,將換行符渲染爲小方框。此外,愛德華改名爲克里斯托弗。 – ninetwozero

+0

哈哈,這是因爲克里斯托弗是他的超級英雄的名字:D – Kheldar

回答

0

這看起來像一個回車問題。我猜Web服務使用UNIX服務器和Unix風格的換行符,而另一個文件來自Windows? 在這種情況下,您只需要將端點更改爲CRLF。

當Windows系統需要CR(0x0D)後跟LF(0x0A)時,Unix系統使用LF(0x0A),因此如果這是您的問題,那麼只需將LF替換爲CRLF即可。

+0

我認爲這有助於更好:早些時候,我曾經將文本作爲一個長字符串。然後我將該參數改爲一個字節數組。我必須將字符串轉換爲ascii編碼的字節數組。它至少可以保留通過電線的數據(特別是CR和LF) – deostroll

3

一個可能使用CR LF = \r\n

其他可能只是使用LF = \n

CR簡稱回車。

LF換行符的縮寫。