先列举以下事实(不对之处还请指教,在此学习了):
1. windows下,用记事本创建的文本文件默认为ANSI编码,在大陆当然就是用的GB2321编码了。
2.记事本创建的ANSI文件是不具有文件识别头的(不知道叫什么,反正就是插入在文件开头区别不不同编码方式的几个字节),自第一个字节起便是文件内容。
3.用记事本另存为创建的UTF-8编码方式的文件是具有EF BB BF三个字节的文件识别头的。因此自第四个字节起的编码才是真正的文件内容。
4.用记事本另存为创建的Unicode编码方式的文件是具有FF FE两个字节的文件识别头的。因此自第三个字节起的编码才是真正的文件内容。
5.显然,记事本读取文件时自动把文件头信息滤去,只显示其后的文本。
(空一行,下面是Linux的:)
6.Linux下的默认编码通通为UTF-8编码。
7.在Ubuntu环境下,用gedit创建的文件默认是UTF-8编码,而且不具有文件头。特别强调,不具有EF BB BF的文件识别头。
(联系:)
8.Linux下文件在windows中记事本都能正常显示
9.Linux下创建的UTF-8文件在记事本中能正常显示。(虽然不具有EF BB BF的文件头)
问题是,记事本是怎么识别出Linux下创建的不具有文件头的UTF-8文件(UTF-8编码)和自己创建的ANSI文件(GB2321编码)并用正确的编码去正常显示的呢?
补充:
10.用gedit打开记事本保存的ANSI文件时不能正常识别,提示选编码,选则GB2321后正常显示。
11.用gedit打开记事本保存的UTF-8文件(含文件头信息),正常显示,无提示。
12.用gedit打开记事本保存的Unicode文件正常显示,但是图标预览上头两个字节确实乱码,呵呵,这一点很怪,难道图标预览上显示时是用UTF-8去解码的,而打开时自动滤去文件头?。
windows和Linux中文本编码的疑惑,请高人指教
-
- 帖子: 86
- 注册时间: 2009-11-02 21:56
windows和Linux中文本编码的疑惑,请高人指教
上次由 智上思下 在 2010-12-22 12:55,总共编辑 1 次。
- BigSnake.NET
- 帖子: 12522
- 注册时间: 2006-07-02 11:16
- 来自: 廣州
- 联系:
Re: windows和Linux中文本编码的疑惑,请高人指教
xp 下的记事本识别不出的
中文会乱码
中文会乱码
^_^ ~~~
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
要理解递归,首先要理解递归。
地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
- acer4740
- 帖子: 1405
- 注册时间: 2010-09-13 19:04
- 来自: 0xFF00EE
-
- 帖子: 86
- 注册时间: 2009-11-02 21:56
Re: windows和Linux中文本编码的疑惑,请高人指教
xp?没试过,至少Windows 7是这样。xp 下的记事本识别不出的
中文会乱码
-
- 帖子: 86
- 注册时间: 2009-11-02 21:56
Re: windows和Linux中文本编码的疑惑,请高人指教
上图,头两个字节乱码,其实是Unicode编码的文件头FF FE而已