如何解决记事本中讨厌的黑块
2013-03-24 14:09
211 查看
原文:http://blog.chinaunix.net/uid-20615408-id-1914787.html
大家恐怕都发现过这样一个现象,就是在Windows下编辑过的C代码到Linux环境下去打开的时候,会出现很多莫名其妙的黑色方块,它们出现的位置是在代码的每行换行处。这是为什么呢?
开始并不怎么留意这些问题,因为它并没有影响到程序的编译过程。但是当我使用Matlab生成一些测试数据文件(要求:每个数据占据一行。我在Matlab数据输出时通过加入'\n'来进行分隔),并使用Windows下面的记事本打开时,发现数据间并非是使用回车换行作为分隔的,而是使用一个个黑色的小块,但更不凑巧的就是后续使用这些数据时必须使用换行作为分隔,而不认这些黑色的小块。我晕,6400个数据,也就是6400个小黑块,我不可能一个个的人为修改吧。
这下没有什么捷径或者通过忽略来处理了,我必须对其进行修改。
网上搜索了半天,终于搞明白了。在Windows系统中,换行是用两个字符来表示的,即回车加换行(对应ASCII码为13和10);而在Linux或者Unix中,换行只需要一个字符就搞定啦,也就是换行符(对应ASCII码为10)。而我们常用的‘\n’只是对应ASCII 10,所以使用Windows下的记事本打开时就只能显示一个黑色的小块在相应的位置,而不是我们预想的回车换行。
原因找到了,编写一小段C代码,将ASCII-10改为ASCII-(13+10),再使用记事本打开,讨厌的黑色方块就消失啦!
OK!解决!
大家恐怕都发现过这样一个现象,就是在Windows下编辑过的C代码到Linux环境下去打开的时候,会出现很多莫名其妙的黑色方块,它们出现的位置是在代码的每行换行处。这是为什么呢?
开始并不怎么留意这些问题,因为它并没有影响到程序的编译过程。但是当我使用Matlab生成一些测试数据文件(要求:每个数据占据一行。我在Matlab数据输出时通过加入'\n'来进行分隔),并使用Windows下面的记事本打开时,发现数据间并非是使用回车换行作为分隔的,而是使用一个个黑色的小块,但更不凑巧的就是后续使用这些数据时必须使用换行作为分隔,而不认这些黑色的小块。我晕,6400个数据,也就是6400个小黑块,我不可能一个个的人为修改吧。
这下没有什么捷径或者通过忽略来处理了,我必须对其进行修改。
网上搜索了半天,终于搞明白了。在Windows系统中,换行是用两个字符来表示的,即回车加换行(对应ASCII码为13和10);而在Linux或者Unix中,换行只需要一个字符就搞定啦,也就是换行符(对应ASCII码为10)。而我们常用的‘\n’只是对应ASCII 10,所以使用Windows下的记事本打开时就只能显示一个黑色的小块在相应的位置,而不是我们预想的回车换行。
原因找到了,编写一小段C代码,将ASCII-10改为ASCII-(13+10),再使用记事本打开,讨厌的黑色方块就消失啦!
OK!解决!
相关文章推荐
- 如何解决记事本中讨厌的黑块
- JAVA操作记事本文件时如何解决换行问题
- Java文件操作新问题如何解决记事本的换行
- 如何解决TXT文本右键打开方式有两个记事本?
- 解决双系统下如何完全卸载Ubuntu系统
- win10系统的电脑c盘出现空间不足应该如何解决
- 如何解决Endnote无法彻底删除.data…
- 如何解决word中出现的问题事件APPCRASH_百度知道
- 没有Internet访问权限如何解决
- 如何创建一个Sencha Touch 2应用_记事本案例(第五部分)
- 运行IE浏览器产生指令引用内存错误如何解决?
- 如何解决maven update之后JDK变回1.5
- Win7如何提升为管理员权限,如何开机启动需要管理员权限的程序,解决win7开机不能自动运行的问题等
- Service Unavailable IIS应用程序池服务停止,如何解决?
- [原] Page_Load执行了两次,为什么?如何解决!
- 怎么解决上传文件时winSCP报错误码3(如何用root帐号登录winscp)
- 如何解决启动用户实例的进程时出错的问题(Sql Server Exoress)[转载]
- Android之 如何解决ScrollView 和ListView滑动冲突的问题如何解决ScrollView can host only one direct child
- TCP如何解决乱序和丢包问题,描述一下三次握手
- 如何解决failed to push some refs to git...