2019独角兽企业重金招聘Python工程师标准>>>

今天帮同事调个东西,发现他的一个配置文件(文本文件)不能正确的被我的程序解析,对比了一个可用的配置文件之后,也没发现什么特别大的差异,只是配置项的值不同。

但是我用beyond compare对比之后却发现两个重要的不同点:

首先假设他的文件叫做win_config.txt,可用的配置文件叫valid_config.txt。

1.win.txt的行尾结束符是0D 0A两个字符,也就是ascii码的\r \n,

而valid.txt的行尾结束符是0A一个字符,也就是ascii码的\n。

2.win.txt的字符编码格式是UTF-8的,valid.txt的字符编码格式是ANSI的。

使用notepad++这个软件,把win.txt的行结束符转换成UNIX格式的,也就是\n,再尝试,就可以被我的程序给解析了。

跟ANSI和UTF-8编码到没什么关系。

后来为了理解这是为什么,查了一些资料,总结一下。

在三大OS下,其环境下的行结束符是如下所示,所以当Unix OS的文本文档用Win OS来读取时,就会发生问题,所有的文字都在同一行。

OS     :十六进制 -> ascii码 -> 简称 -> 全称/中文名称Mac  OS:0D       -> \r      -> CR   -> Carriage Return / 回车(符)Unix OS:0A       -> \n      -> LF   -> Line Feed       / 换行(符)Win  OS:0D 0A    -> \r\n    -> CR LF

转载于:https://my.oschina.net/michaelyuanyuan/blog/79152

关于ANSI和UTF-8,windows和unix的行结束符相关推荐

  1. linux中win文件转为unix,如何将文本文件从Windows转换为Unix

    从Unix转换到Windows时,我得到正确的输出;但是,从Windows到Unix时,我得到了一些奇怪的输出.我认为我必须允许的是删除回车'\ r'.虽然这不起作用.当我运行代码后打开文本文件时,我 ...

  2. Windows下关于Git的行结束符

    如果你在一个Windows开发团队中–更甚者在一个跨平台的开发团队中,那么必须要面对的问题之一就是行结束符(line endings).您的行结束符设置可能会影响开发效率并引发一系列问题. 处理行结束 ...

  3. 扫盲 Linux&UNIX 命令行——从“电传打字机”聊到“shell 脚本编程”

    扫盲 Linux&UNIX 命令行--从"电传打字机"聊到"shell 脚本编程" 本文目标读者 虽然本文的标题号称是[扫盲],但俺相信:即使是一些 P ...

  4. Windows中的命令行提示符里的Start命令执行路径包含空格时的问题

    转自:http://www.x2009.net/articles/windows-command-line-prompt-start-path-space.html 当使用Windows 中的命令行提 ...

  5. windows下 cl: 命令行 error D8021 :无效的数值参数“/Wno-cpp”的解决办法

    Mask R-CNN学习(三):windows下 cl: 命令行 error D8021 :无效的数值参数"/Wno-cpp"的解决办法 2018年07月20日 11:11:06 ...

  6. windows下php命令行模式错误信息

    windows下php命令行模式遇错误一闪而过自动关闭窗口,无法看清报错内容.此时,可手动开启一个窗口,然后运行相关代码即可. 转载于:https://www.cnblogs.com/shanhesh ...

  7. windows下cmd命令行显示UTF8字符设置(CHCP命令)

    点我进入原文 windows下cmd命令行显示UTF8字符设置(CHCP命令) 在中文Windows系统中,如果一个文本文件是UTF-8编码的,那么在CMD.exe命令行窗口(所谓的DOS窗口)中不能 ...

  8. Windows 7 中文版命令行如何修改字符编码为UTF-8?

    Windows 7 中文版命令行如何修改字符编码为UTF-8? CMD 之后,命令行有时候无法显示中文,是乱码,于是我右键查看了编码,是GBK编码.如何修改为UTF-8 如果要更改为 UTF-8,则需 ...

  9. 解决windows系统powershell命令行无法使用代理的问题

    解决windows系统powershell命令行无法使用代理的问题 有时在用命令行下载一些项目的包时会出现无法连接或者下载的很慢的问题,遇到这种情况可以考虑设置powershell使其可以使用系统代理 ...

最新文章

  1. 简易计算器 (C语言)作业
  2. 关于mysql无法添加中文数据的问题以及解决方案
  3. mongodb添加创建修改时间_MongoDB数据库插入、更新和删除操作详解
  4. 太可怕!儿童智能手表竟成偷窥器,315重锤个人隐私泄露
  5. Ubuntu中useradd和adduser的区别
  6. 将js对象转化为树形结构
  7. Java判断字符串的数字类型(小数、整数)
  8. 华为抓取错误日志在哪里_分析Spider抓取情况和SEO优化
  9. wpf程序运行时停止工作,事件管理器报错lci_proxyumd32.dll
  10. python自动化测试学习笔记-4内置函数,处理json
  11. 【DS】数据结构八股文英文版(1)
  12. Android 12 WiFi 框架
  13. excel大学计算机试题,大学计算机一级excel部分试题
  14. jQ+jQ UI制作的一个简单的二级可多选穿梭框
  15. 最新服务器处理器天梯,服务器CPU性能排行榜天梯图(双路/三路/四路)
  16. XP同步时间服务器地址
  17. ArduinoUNO实战-第二十二章-红外遥控实验
  18. 迅雷跃居全球BT市场第一
  19. 怎么安全的清理WinSxS文件夹?
  20. 工厂系列系统之 MES 系统8 生产计划-订单

热门文章

  1. leetcode 46 java,leetcode46.java
  2. iOS 11开发教程(十七)iOS11应用视图之使用按钮接收用户输入
  3. Visual Studio 2017创建XAML文件
  4. Xamarin XAML语言教程模板视图TemplatedView(一)
  5. Xamarin.Forms单元控件Cell
  6. Unity 游戏开发技巧集锦之使用cookie类型的纹理模拟云层的移动
  7. Xamarin iOS开发实战(内部资料)
  8. android修改系统设置权限_如何给PDF设置权限,使PDF不能被修改?
  9. oracle存储过程备份,利用ORACLE存储过程与JOB结合实现对数据表自动备份
  10. 学java时的一些笔记(2)