2011-08-12 99 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换行符的缩写。