windows - FTP:将文件下载到 Mac OS 并传输到 Windows Server VM - 但不起作用

标签 windows macos ftp endianness

我将一个 MS SQL 数据库文件从 FTP 位置传输到 Mac 操作系统,然后从 MAC 操作系统复制到我的 Windows Server 虚拟机。但是,数据库的恢复过程失败了。当我直接从 Windows Server VM 进行 FTP 时,恢复过程确实有效。这里发生了什么?这会不会是big endian little endian相关的??

最佳答案

行尾问题:操作系统之间文件传输的古老瘟疫,尤其是 OSX 和 Windows 之间。

文件系统使用“行尾”字符来指定新行,不同的操作系统以不同方式实现此字符。 Mac OSX 使用 LF(旧语中的“换行”),Windows 使用 CRLF(“Carriage-Return-Line-Feed”,就像打字机的圆柱形托架从打字机的一侧返回到另一侧一样。打字机是物理的用于将个人墨水字形印在一张纸上的设备 - more here)。

因此,当您使用 ASCII 模式将文件通过 FTP 传输到 OSX 机器时,FTP 服务器会在传输过程中将行尾更改为 FTP 定义的通用格式,然后 OSX 在保存文件时将它们更改为“LF”,而您的Windows 机器最终变得困惑。

尝试使用 FTP 的图像(又名二进制)模式,使用/Applications/Utilities/Terminal.app/中的 OSX 的“ftp”命令可用 More on using OSX's built-in "ftp" here .

关于windows - FTP:将文件下载到 Mac OS 并传输到 Windows Server VM - 但不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4740384/

相关文章:

macos - 如何使用 unixodbc 和 freetds 在 Mac 上安装 RODBC?

Java通过ftp上传文件零字节错误

ftp - FileZilla 客户端在命令行中运行

python - conda 在激活环境之外寻找库

c# - DLL 中的 CreateWindowEx() 创建一个标题为奇数的窗口

windows - 从 Windows 调用 ssh 时转义字符

objective-c - SimpleFTPSample - 如果用户名有空格则登录不正确

Python os.st_uid 只返回值 0

swift - 如何防止标题栏在 Metal 中引起渲染问题?

ios - swift 中 java 接口(interface)或 objective c 协议(protocol)的等价物是什么?