为什么新建文本文档中输入“联通”保存,在打开时就是一个废电池的样子?
2010-12-08 16:39
465 查看
这只是电脑编码的一个巧合啦 实际上跟移动联通无关的 [解释] 这是一个字符编码应用的奇怪现象,讲的明白点,可以说是记事本开小差了!记事本为什么会犯错误?记事本犯了怎样的错误呢?也许你会迫不及待的想知道这些问题,如果是这样,我不会让你空腹而归的。 在简体中文操作系统中默认的本地字符集编码是GBK编码,除非你在保存记事本文本文件时候选择了其他编码方式,否则用记事本录入的字符信息将使用GBK编码进行储存。巧合的是,“联通”这两个字符的GBK编码具有UTF-8编码的特征,
记事本犯下的错误正是将GBK编码存放的记录有“联通”两个字符的文件误认为UTF-8编码的文件。或许你会问,UTF-8编码的文件不是以“EF BB BF”三个特殊字节开头吗?既然这样,记事本怎么会犯这么低级的错误呢?没错,UTF-8编码规定使用UTF-8编码的文件以“EF BB BF”三个特殊字节开头,
但并不是强制性要求,早期的UTF-8编码文件就不遵循这个规定。因此记事本不能依靠文件的开头字节判断一个文件是否是UTF-8编码,而只能对文件中的数据进行简单的编码分析来确定。正是这个原因,才有了字符编码应用中的这个奇怪又无法避免的现象。
相关文章推荐
- 问题:C#打开一个文本文档往里面写数据,没有就新建文档 ;结果:c#FileStream文件读写(转)
- c#开发一个“记事本”程序,要求能够实现文件的新建、打开、编辑、保存功能
- C#中操作Word(2)—— 新建、打开、保存和关闭文档
- AE地图文档的操作,新建打开保存另存为地图文档的实例
- 建议把.CSV的默认打开方式改成任意一个文本 编辑器,系统自带的记事本就是个不错的选择
- 输入一个整数,将此整数保存到文件中,以记事本打开,显示同样的内容
- 十进制转化成2,8,16进制数工具。将代码全部复制到一个txt文档中保存,并将文件后缀.txt改为.html,再浏览器打开即可
- 今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在Win中见过的/r回车符号。由于编辑软件的编码问题,某些IDE的编辑器在编辑完文件之后会自动加上这个^M符号。看起来对我们的源代码没有任何影响,其实并不然,当我们把源代码文件Check In到svn之类
- NSIS ---使用nsDialogs创建自定义页面,并获取输入到控件中的内容保存到一个XML文档中
- 有趣的GBK和UTF8起源:在文本中输入“联通”二字,再次打开会乱码,原因所在
- java中文件的编码(在建立text文本时,如果文件中只写联通或是联,再次打开的时候就会出现乱码,下面就是原理)
- C#程序如何修改一个打开的文档并保存
- 键盘输入流,接收大文本数据,并输入一个图片路径,之后将这些数据保存在数据表中
- C#中操作Excel(2)—— 新建、打开、保存和关闭Excel文档
- 读取一个文本文档,例如有1~10行,要求按10~1行的顺序输出.并保存予原文件
- 建立一个文本文件in.txt,在其中输入若干个正整数,中间用空格分隔,然后保存起来;在窗体上添加一个命令按钮和一个标签框,当单击命令按钮时将in.txt文件中存放的所有的能被3整除的数的和显示在标签框
- 文本文档的联通和连通直接保存出现乱码问题
- PDMReader软件,打开.pdm文件,提示要将这个pdm文件重新保存为xml格式的pdm文件,但是保存的明明就是xml格式的pdm文件,但还是不行,为什么?
- VC 2010 + MFC:自定义文档视图框架,去除新建、保存、打开等菜单功能,让文档程序个性化
- WORD2007只可以打开一个文档,且打开后文本有时出现不可 编辑情况