windows和Linux路径及编码差异

在今天工作中做了一个文件上传下载功能,发现一个问题,在windows中测试通过的代码,在linux服务器上却找不到对应目录下的文件,经过查看日志发现是路径的分隔符导致的问题。

在windows中的分隔符是\ 比如 E:\\home\work   在String 中由于\属于转义字符需要再加上一个\ "E:\\home\\work"或者使用

 @"E:\home\work" 可以无视掉转义字符。

在linux中的分隔符是/ 比如 /home/oracle    url路径分隔符也是/ 如http://10.5.1.111/web/hello.jsp

为了保证可移植性,在java中使用File.separator来拼接,它会根据系统自动进行转化。

如:String url =File.separator+"home"+File.separator+"oracle";

在解决了分隔符问题后又产生了一个问题,根据文件名来查找目录底下查找不到,查看日志后发现文件名在linux中部分符号编程了乱码经查是Linux与Windows编码不一致导致

查看windows编码格式,打开cmd
chcp
找到对应的活动代码页
52936 简体中文(HZ)936 中国 - 简体中文(GB2312)950 繁体中文(Big5)65001 Unicode (UTF-8)1200 Unicode
查看linux正在使用的编码格式
locale
查看linux支持哪些编码格式
locale -a
修改linux编码格式(centos7)
vim /etc/locale.conf
修改为
LANG=zh_CN.gb2312
经查看:活动代码页为936,对应着locale -a查看出来的zh_CN.gb2312编码
重启生效
reboot




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: LinuxWindows下Python的区别主要体现在以下几个方面: 1. 系统调用:LinuxWindows的系统调用不同,因此在使用Python时需要注意系统调用的差异。 2. 文件路径LinuxWindows的文件路径表示方式不同,Linux使用“/”作为路径分隔符,而Windows使用“\”。 3. 编码LinuxWindows的默认编码不同,Linux使用UTF-8编码,而Windows使用GBK编码。 4. 环境变量:LinuxWindows的环境变量设置方式不同,因此在使用Python时需要注意环境变量的设置。 5. 库的安装:LinuxWindows下的Python库安装方式不同,Linux使用包管理器进行安装,而Windows需要手动下载安装。 总之,LinuxWindows下Python的差异主要体现在操作系统、文件路径编码、环境变量和库的安装等方面。在使用Python时需要根据不同的操作系统进行相应的调整和注意。 ### 回答2: 在使用Python编程语言时,我们可以选择在不同的操作系统(如WindowsLinux)中运行Python应用程序。虽然Python在不同操作系统下的使用大体相同,但在WindowsLinux上使用Python仍然存在一些差异。 首先,Python的安装方式在WindowsLinux上略有不同。在Windows上,Python安装向导提供简单而易用的安装程序,带有图形用户界面,无需专业知识即可完成安装。而在Linux上,Python的安装通常涉及使用命令行上的包管理器,需要一定的Linux技术知识。 其次,在使用Python编写应用程序时,Python在不同操作系统中的库和功能也存在区别。例如,某些Linux操作系统提供的库可能与Windows操作系统提供的库不同,这可能会影响这些库在应用程序中的使用。 此外, Python的文件路径和操作方法在WindowsLinux上也不同。在Windows上,文件路径采用反斜杠“\”,而在Linux上采用正斜杠“/”。这意味着在编写Python程序时,我们需要谨慎考虑在不同平台下的文件夹路径。 最后,Python应用程序在不同操作系统下的性能可能会有所不同。虽然Python是一种轻量级编程语言,但在较老旧的Windows机器上使用Python可能会导致性能降低,而部分Linux操作系统的运行效率比Windows更高。 总体来说,虽然WindowsLinux下Python间存在一些差异,但Python的核心功能和语法在不同平台下完全相同,这使得Python成为一种跨平台的编程语言,方便我们在不同操作系统下编写和运行应用程序。 ### 回答3: LinuxWindows操作系统都支持Python语言,但它们在Python的开发和使用方面存在一些不同之处。 首先,Linux是基于开放源代码的操作系统,而Windows是封闭源代码的操作系统。因此,在Linux上安装Python更加方便,因为许多Linux发行版自带了Python,并且可以轻松地通过命令行进行安装和升级。而在Windows下安装Python比较麻烦,需要先下载Python安装包,然后进行手动安装。此外,Windows的Python环境也可能会受到一些安全和配置限制。 其次,Python在Linux下执行速度更快。这是因为Linux有更好的多任务管理和内存管理,可以更好地优化Python的执行速度,尤其是在处理大量数据和高负荷的情况下。同时,在Linux下还可以使用更多的Python库和工具,例如Numpy、Scipy、Matplotlib等,这些库可以提高Python的数学处理和可视化能力。 第三,WindowsLinux下的Python编程环境略有不同。在Windows下,Python通常使用Python IDLE工具进行编写和调试,或者使用Visual Studio等集成开发环境进行开发。在Linux下,Python通常使用命令行进行编写和调试,或者使用开发者喜欢的文本编辑器。同时,在Linux下还可以使用一些命令行工具或Shell脚本来快速执行Python脚本。 总之,虽然LinuxWindows下的Python环境有一些不同,但Python在两个操作系统下都可以进行全面的开发和使用。开发人员应该选择符合自己需求的环境,并根据操作系统的特性进行相应的优化和配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值