免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 11661 | 回复: 20

line terminator的问题 [复制链接]

论坛徽章:
0
发表于 2008-07-12 19:50 |显示全部楼层
file两个不同txt文件的结果:
Non-ISO extended-ASCII text, with very long lines, with CRLF line terminators
Non-ISO extended-ASCII text, with very long lines, with CRLF, NEL line terminators
那个NEL是怎么回事?我找到的解释是NEL next line 0085 85,和CR、LF一样也是换行
CR carriage return 000D 0D
LF line feed 000A 0A
CRLF carriage return and line feed 000D,000A 0D,0A
NEL next line 0085 85
但是我在其他txt里面也找到这个85的ASCII码,为什么单单这个文件是NEL呢?而且这个文件的85是汉字里面的。

论坛徽章:
0
发表于 2008-07-13 00:39 |显示全部楼层
字符  二合字母  十六进  十进制  正式名字
~E      NL      0x85    133     NEXT LINE (NEL)

试试这个0x85十六进制的,133十进制的

论坛徽章:
0
发表于 2008-07-13 02:37 |显示全部楼层
我搜索的就是十六进制的。0D0A就是十六进制的。

论坛徽章:
0
发表于 2008-07-14 22:29 |显示全部楼层
EBCDIC systems—mainly IBM mainframe systems, including z/OS (OS/390) and i5/OS (OS/400)—use NEL (Next Line, 0x15) as the newline character

NEL一般只在采用EBCDIC编码的系统中出现。
EBCDIC是是字母或数字字符的二进制编码,是IBM为它的更大型的操作系统而开发的。它是为IBM的S/390上的IBMOS/390操作系统上使用的文本文件的编码,并且数千个公司为它们的遗留应用程序和数据库使用这种编码。
这种NEL出现的情况较小,莫非LZ使用的正是IBM的大型机?

论坛徽章:
0
发表于 2008-07-14 22:52 |显示全部楼层
-bash-2.05b# vi xxx.txt
efwe~E
-bash-2.05b# file xxx.txt
xxx.txt: ASCII text, with CRLF, NEL line terminators

之所以是NEL,肯定是含有85的ASCII码,这点莫庸置疑,我已经反复测验过

不过质疑的一点情况如下:
0000000: 6566 7765 850d 0a                        efwe...
上面是我在vi中:%!xxd ——将当前文本转换为16进制格式。
得到的结果中后面还包含有0d0a,也就是CRLF。

我想你的情况中,可能是其他汉字的十六进制码中本身就包含85的情况,比如0185,0285,却非NEL的0085.

论坛徽章:
0
发表于 2008-07-14 22:56 |显示全部楼层
NEL在vi中的显示应该为~E,正如CRLF的^M。这样可以直接判断你的txt文件中是否包含NEL?比看85的ASCII码可能要更直观。

论坛徽章:
0
发表于 2008-07-14 22:58 |显示全部楼层
o(∩_∩)o...以上是我的拙见。我也是刚刚查了半天的资料临时看的。
里面我也有很多疑问

论坛徽章:
0
发表于 2008-07-14 23:58 |显示全部楼层
不是,只是汉字的一部分而已,一本小说,怎么可能是IBM大型机上拷下来的?你可以百度一下卬呿吤,然后从url里面就可以看出编码里面是有85的。

论坛徽章:
0
发表于 2008-07-15 00:07 |显示全部楼层
呵呵。我对汉字和ASCII码都是门外汉。也许是你转换中有问题
如果在vi中看的话,它自动会将ASCII码为85的显示为~E
如果没有~E的话,就不存在“但是我在其他txt里面也找到这个85的ASCII码,为什么单单这个文件是NEL呢?而且这个文件的85是汉字里面的。”之说了。问题肯定出在别的地方了。

论坛徽章:
0
发表于 2008-07-15 10:21 |显示全部楼层
原帖由 eeeef 于 2008-7-14 22:52 发表
-bash-2.05b# vi xxx.txt
efwe~E
-bash-2.05b# file xxx.txt
xxx.txt: ASCII text, with CRLF, NEL line terminators

之所以是NEL,肯定是含有85的ASCII码,这点莫庸置疑,我已经反复测验过

不过质疑的 ...


这个~E在vim怎么输入?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP