`
webcode
  • 浏览: 5940056 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

ANSI、Unicode、Unicode big endian、UTF-8编码

 
阅读更多

保存文本文件的时候,可以选择的编码有ANSIUnicodeUnicode big endianUTF-8四种。

不同的编码,保存在文件中的01代码是不同的,我们新建一文本文件,输入“ABC”,分别以上面四种编码形式保存为4个文件ANSI.txtUnicode.txtUbig.txtUTF8.txt,并使用cmd中的debug程序查看文件内容如下:

1、ANSI.txt

2、Unicode.txt

3、Ubig.txt

4、UTF8.txt

我们发现,“ABC”保存在文件中的01代码分别为:

  • ANSI编码:

41 B3 CC 42 D0 F2 43

  • Unicode编码:

FF FE 41 00 0B 7A 42 00 8F 5E 43 00

FF FE”文件编码标识

  • Unicode big endian编码:

FE FF 00 41 7A 0B 00 42 5E 8F 00 43

FE FF”文件编码标识

  • UFT-8编码:

EF BB BF 41 E7 A8 8B 42 E5 BA 8F 43

EF BB BF”文件编码标识

一、ANSI编码:

ANSI是默认的编码方式。对于英文字符是ASCII编码,对于简体中文字符是GB2312编码(只针对Windows简体中文版,如果是繁体中文版会采用Big5码)。

二、Uincode编码:

Unicode编码指的是UCS-2编码方式,即直接用两个字节存入字符的Unicode码。这个选项用的little endian格式。

三、Unicode big endian编码:

“endian”一词来源于英国作家斯威夫特的《格列佛游记》。在该书中,小人国里爆发了内战,战争起因是人们争论,吃鸡蛋时究竟是从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开。为了这件事情,前后爆发了六次战争,一个皇帝送了命,另一个皇帝丢了王位。

因此,第一个字节在前,就是大头方式Big endian),第二个字节在前就是小头方式Little endian)。小人国为水煮蛋该从大的一端(Big-End)剥开还是小的一端(Little-End)剥开而争论,争论的双方分别被称为Big-endiansLittle-endians

对比Unicode编码,可发现,Unicode big endian编码只是字符的两个字节的存放顺序不同而已。

四、UFT-8编码:

UTF-8UNICODE的一种变长字符编码又称万国码,由Ken Thompson1992年创建。现在已经标准化为RFC 3629UTF-816字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如日文,韩文)。

【结束语】

这几种编码当然都有它的编码规则,不过,对于我们使用者来说,只需要知道不同的编码,保存在文件中的0、1代码是不同的,使用不同的编码规则浏览文件,很显然会出现乱码。

这就需要我们在编写文件的时候,养成一个良好的习惯,特别声明一下我们使用的编码,例如,在网页文件中使用META内容元素声明我们的编码:

<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>

参考网址:

http://baike.baidu.com/view/40801.htm

http://baike.baidu.com/view/1485693.htm

http://baike.baidu.com/view/742823.htm

http://blog.sina.com.cn/s/blog_6d71f75301016xm0.html

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics