语言设置指的是<meta>这里的charset,如简体中文是charset=gb2312,UTF-8是charset=utf-8;文本编码指的是文件的储存格式,我们新建的文本文件默认都是ANSI格式,所以不能含有如©、®这类字符。为了不让网页出现乱码,语言设置和文本编码应该相对应,简体中文的文本编码格式是gb2312,UTF-8文本编码格式是UTF-8。语言设置和文本编码对于任何客户端网页都适用,如.htm、.asp、.php、.jsp、.aspx的网页。ANSI和UTF-8文本编码的体积,我这里做了一些实验,同一个字符重复N次,如下表:
| 字符 | 编码格式 | 重复次数 | 文件体积 |
| 英文、半角字符: |
| a | ANSI | 100次 | 100 bytes |
| A | ANSI | 100次 | 100 bytes |
| a | UTF-8 | 100次 | 103 bytes |
| a | UTF-8 | 1000次 | 1003 bytes |
| a | UTF-8 | 10000次 | 10003 bytes |
| 汉字、全角字符: |
| 好 | ANSI | 100次 | 200 bytes |
| あ | ANSI | 100次 | 200 bytes |
| 好 | UTF-8 | 100次 | 303 bytes |
| ® | UTF-8 | 100次 | 203 bytes |
| 한 | UTF-8 | 100次 | 303 bytes |
| 好 | UTF-8 | 1000次 | 3003 bytes |
| 好 | UTF-8 | 10000次 | 30003 bytes |
| Unicode编码格式: |
| a | Unicode | 100次 | 202 bytes |
| 好 | Unicode | 100次 | 202 bytes |
| ® | Unicode | 100次 | 202 bytes |
| 한 | Unicode | 100次 | 202 bytes |
| 한 | Unicode | 1000次 | 2002 bytes |
总结:(以下的byte就是字节)
1、半角的字符,如英文、数字、半角符号,ANSI和UTF-8文本编码的体积比是1:1,UTF-8格式会多出3个byte。
2、中文字符,ANSI和UTF-8文件的体积比是1:2,UTF-8格式多出3个byte。
3、©、®这2个字符,在UTF-8格式下,与中文字符的体积一样。
4、韩文字符不能使用ANSI格式。韩文在UTF-8格式下,一个字符占用3个byte;韩文在Unicode格式下,一个字符占用2个byte;
5、Unicode码则比较折中,所有字符都占用2个byte。
总之,英文、数字、半角符号,在ANSI和UTF-8编码格式下都占用1个byte;中文,全角标点,在ANSI下占用2个byte,在UTF-8下占用3个byte。
UTF-8的Trackback: http://www.auiou.com/capable/trackbacksw.jsp?kskv00001188
» 直接发送Trackback到此文章 » GB2312及其它语言的Trackback地址
有和平天使们的4条评论 (4 Peaceful Angels' Comments):1 自由勇 发表于 2007-01-17 16:15 Trackback来自 《要不要使用UTF-8编码?》本Blog开通了近5个月,网页一直使用gb2312语言、文本使用标准ANSI编码。中文Blog在2005年、2006年这两年,呈现出了极其壮观的场面,Blog在网络中,几乎可以最大程度地促进和改善一个人的理性思考能力。中文Blog,UTF-8语言编码占多数,我估计约占70%,gb2312语言编码约占30%。 |
2 游客 发表于 2007-04-04 10:48 自由勇在分析时有些错误,如果没猜错的话,以上测试均是使用 Windows 中的 记事本来完成的,错误在于每个 UTF-8 或 Unicode 体积都多出那三个或两个字节,因为记事本只能正常用于 Windows 中,且只能用来输入一些文本,别无他用,不能用来编程,当然,用来输入 HTML 是可以的,因为浏览器会忽略这个错误;
错误: Windows 中的记事本是通过文本文件的前三个(UTF-8)或前两个(Unicode)字节来区分整个文本文件所使用的编码,且该机制不兼容任何其它文本编辑器,如果楼主会写程序的话就可以很容易看到记事本都是擅自加的哪几个字符;
楼主是做网页的,推荐楼主用 Dreamware 来测试正确的文本体积,使用记事本将得到错误的答案 |
3 自由勇 发表于 2007-04-04 10:53 回游客,你很细心,谢谢你提出的问题,但这并不是错误,我这里主要用EmEditor做测试。除了Dreamweaver的文本系统之外,有条件还可以用ASP、PHP、JSP分别测试一下写入的UTF-8、Unicode文本文件的体积。 |
4 kukukuan@163.com 发表于 2007-04-05 11:42 EmEditor存UTF8的时候会提示要不要加UNICODE签名,不加签名的话,会少3个
加UNICODE签名的做法在其他平台兼容性上有问题 |
说明:请勿发送垃圾信息、垃圾邮件;本评论系统不支持HTML标签。(您的留言需要审核)