二进制传输与文本传输的区别
2017-09-06 08:45
1351 查看
Ftp,winscp等工具下载文件时候有选项,可选的有二进制方式和文本方式。文本方式又称为ASCII方式 两者区别如下。 ASCII 方式和BINARY方式的区别是回车换行的处理,binary方式不对数据执行任何处理,ASCII 方式将回车换行转换为本机的回车字符,比如Unix下 是\n,Windows下是\r\n,Mac下是\r ASCII 方式下会转换文件,不一样的系统有不一样的行完毕符,unix系统下行完毕符是一个字节,即十六进制的0A,而ms的系统是两个字节,即十六进制的0D0A所以当你用ascii方式从unix的ftp server下载文件时(不论是二进制或许文本文件),每检测到一个字节是0A,就会自动插入一个0D,所以假设你的文件是二进制文件 比如可执行文件、紧缩包什么的,就肯定无法用了。 假设你的文件就是unix下的文本文件,你用 ascii方式是正确的,要是误用了binary方式,你在windows上看这个文件是没有换行的,内部是一个个的黑方块。普通来说,咱们最好都用binary方式,这样可以保证不出错。假设有文本格式转换的疑问,即unix格式的文本和dos格式的文本 之间的转换,有许多工具可以做的,不要在ftp传输的时辰冒险,尤其是你假设对这些东西不是十分清楚的话。 可以运用 MIME,把一切的字符,转换成0~128之间的字符,然后传送,在接受方再将接纳到的字符MIME反向转换。通常咱们发送邮件,就是运用这样的字符转换 方式 ------------------------------------------------------------------ 补充:文本方式和二进制方式传文本文件的详细区别可以在linux下运用cat -A 文件名 看到两者的区别,当然前提是在windows下上传的文本为dos格式,这个可以用高级的文本编辑器看如ultraedit等。两者的区别是二进制 方式上传的文本比文本方式多一个^M符号,这个就是windows下dos格式的/r回车符号,也就是上面提到的十六进制的0D,在vi下运用全局替 换:%s/^M//g[^M运用Ctrl+V+M而不是直接输入^M]去掉一切的回车符或许运用dos2unix file执行转换,这样保管后或许生成后的文件就和文本方式上传的文件一样了。。
相关文章推荐
- 【计算机】二进制(Binary)与文本(ascii)传输方式区别
- 二进制文件和文本文件究竟有什么区别?(内附小实验和C语言中fwrite fread fprintf fscanf函数的用法)
- HTTP、SIP都是基于文本的协议,他们和基于二进制的协议有什么区别?!
- 整型数据的二进制格式和文本格式的传输方式
- 文本文件和二进制文件的区别
- C基础——文本格式和二进制格式的区别
- 文件读写: 二进制方式和文本方式的区别
- C/C++中二进制与文本方式打开文件的区别
- 关于文本模式和二进制模式对文件进行操作的区别
- FTP的二进制与ascii传输方式区别
- 文本方式与二进制方式读写文件的windows区别总结
- 文本文件和二进制文件的区别
- FTP中Binary二进制与ASCII传输模式的区别
- C fread的文本模式与二进制模式的区别
- fopen按文本方式打开文件和按二进制方式打开文件的区别
- 文本与二进制方式打开文件的区别
- 文本文件和二进制文件的区别
- C fread的文本模式与二进制模式的区别
- 文件读写: 二进制方式和文本方式的区别
- C语言文本方式和二进制方式打开文件区别