首页
社区
课程
招聘
最近网上流传很广的贴子,为什么会这样呢?
发表于: 2005-9-5 08:59 6837

最近网上流传很广的贴子,为什么会这样呢?

2005-9-5 08:59
6837
我试过了,确实是这样的,这是为什么呢?谁知道?

如果你的电脑操作系统是WIN2000或WINXP的话,那么:

1、在桌面上点右键,选择新建 ? 文本文档;
2、打开“新建 文本文档”,录入“移动”两字后存盘退出;
3、重新打开“新建 文本文档”,看到什么了?
4、是不是刚刚录入的“移动”两字?

咱们换过来
1、在桌面上点右键,选择新建 ? 文本文档;
2、打开“新建 文本文档”,录入“联通”两字后存盘退出;
3、重新打开“新建 文本文档”,看到什么了?
4、是不是刚刚录入的“联通”两字不见了,取而代之是个烧焦的手机电池。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (15)
雪    币: 117
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
用十六进制工具打开仍然看到的是联通两个字,可记事本打开就不是了
C1 AA CD A8
2005-9-5 09:03
0
雪    币: 217
活跃值: (91)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
已经是历史的东西
2005-9-5 09:13
0
雪    币: 117
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
是很久了,可我就一直没有闹明白为什么会这样,在记事本中打一段文字中出现联通两个字又能正常显示
2005-9-5 09:15
0
雪    币: 4560
活跃值: (1002)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
这应该是记事本的BUG吧
2005-9-5 10:01
0
雪    币: 1852
活跃值: (504)
能力值: (RANK:1010 )
在线值:
发帖
回帖
粉丝
6
我记得论坛中以前有这个帖子
2005-9-5 10:43
0
雪    币: 298
活跃值: (566)
能力值: ( LV9,RANK:530 )
在线值:
发帖
回帖
粉丝
7
晕啊  温到死
2005-9-5 11:10
0
雪    币: 217
活跃值: (99)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
记事本有自动识别unicode等编码的功能,
字符数过少就可能出现编码识别bug.
这里的"联通"被记事本误识别为UTF-8编码了.
2005-9-5 12:03
0
雪    币: 547
活跃值: (2200)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
9
这只是微软的又一个小bug,属于记事本程序的编码问题,当文档中所有字符都在
C0≤AA≤DF80≤BB≤BF这个范围的时候,记事本程序都无法确认文档的格式,而“联通”
就是C1AACDA8,恰好好在上面的范围内,所以不能正常显示

输入5个“联”,保存打开后什么也显不出来
2005-9-5 13:00
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
长见识了.....
2005-9-5 15:28
0
雪    币: 202
活跃值: (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
一种解释:

记事本保存的时候,默认使用ansi编码
但是用ansi编码呢,联通这两个字的开头正好是:fffe..... 这样的,于是再打开呢,他就以为是utf-8编码了,但是按照utf-8来解码呢,却造成乱码了

以下是“联通”二字在不同编码下的16进制代码:

FF FE 54 80 1A 90 (Unicode)
FE FF 80 54 90 1A (Big Unicode)
FF FE 54 80 1A 90 (UTF-8)
FF FE 6A 00 68 03 (ANSI)

可以看出来,Unicode和UTF-8编码下,联通二字的编码是一样的,而Big Unicode是和Little Unicode(简称Unicode)正好相反的编码方式,一般Intel体系的计算机用Little Unicode编码效率较高。而文件头FF FE和FE FF则被微软用来作为区分文件是Little Unicode还是Big Unicode的标志。同时呢,由于UTF-8也是缘于Unicode编码方式的,微软就在UTF-8编码的文件前面也加上了FF FE用来作为标志。

可是这样一来,用ANSI编码保存的文件就出问题了,因为联通二字的ANSI编码正好是以FFFE开头的,这样以ANSI编码保存以后再次打开,记事本首先检测到FFFE,就认为是UTF-8编码了,于是按照UTF-8编码打开以后就会显示为乱码。

利用这个原理,大家可以试试,找到以ANSI编码保存时开头为FFFE的其他文字,同样可以实现和 联通二字在记事本中造成的bug一样的效果
2005-9-5 16:48
0
雪    币: 117
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
果然,真是长见识了
2005-9-5 17:17
0
雪    币: 234
活跃值: (104)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
最初由 nettao 发布
一种解释:

记事本保存的时候,默认使用ansi编码
但是用ansi编码呢,联通这两个字的开头正好是:fffe..... 这样的,于是再打开呢,他就以为是utf-8编码了,但是按照utf-8来解码呢,却造成乱码了

........


窃以为有误人子弟之嫌。
2005-9-6 09:55
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
有这种事?真奇怪
2005-9-9 19:05
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
又学到东西了
2005-9-9 19:57
0
雪    币: 117
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
最初由 auser 发布


窃以为有误人子弟之嫌。


为什么这样说呢?哪里有错误?
2005-9-10 14:16
0
游客
登录 | 注册 方可回帖
返回
//