USB传输后,Windows文本文件在Ubuntu上显示已损坏


0

我今天遇到了一些非常奇怪的事

这就是发生的事情:我使用PyDev编写了一个简短的Python脚本(用于检查与主机的连接)。我通过拇指驱动器将它从我的Windows 7笔记本电脑转移到Ubuntu工作站,该文件看起来像一堆乱码。我尝试重新保存并重命名文件,但这没有帮助。我尝试在另一个Ubuntu工作站上查看该文件,同样的事情发生了。这并没有影响我的任何其他Python文件。我怀疑问题出在我的拇指驱动器上,因为我可以在笔记本电脑上完美地读取它。

我最终决定通过电子邮件将文件发送给自己,这解决了这个问题。有谁知道可能发生了什么?


2
“胡言乱语”?这有助于包含您所看到的样本。
Wyzard 2013年

我明天早上上班的时候会发布截图。
Danny Chia 2013年

奇怪的是,我对Python文件进行了一些更改,它不再显示为乱码。也许拇指驱动器上的某个扇区被破坏的方式只能在Ubuntu上无法读取。谁知道?
Danny Chia 2013年

Answers:


1

根据您提供的信息,我怀疑这可能与* nix和Windows中使用的行结尾的差异有关。在维基百科上查看此页面

您可以通过使用可以转储ascii字符的实用程序检查行结束来确认行结尾是否导致问题。在Ubuntu上你可以使用hexdump

hexdump <filename> 

这里有一个例子说明了两个系统之间的行结尾的差异。输入文件是一个名为sample.txt的简单文本文件,在单独的行上有单词line1和line2

$ cat sample.txt
line1
line2

在Linux系统上创建的sample.txt的输出

sample.txt:
00000000  6c69 6e65 310a 6c69 6e65 320a           line1.line2.

在Windows系统上创建sample.txt的输出

sample.txt:
00000000  6c69 6e65 310d 0a6c 696e 6532 0d0a      line1..line2..

要在行结尾类型之间进行转换,请尝试使用dos2unixfromtodos

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.