当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > utf8和unicode编码究竟是什么关系?有何区别?

CSS样式表
推荐一篇利用th,colgroup,col定义表格样式
都是IE惹的祸多浏览器兼容问题
dl,dt,dd制作的CSS垂直菜单
推荐css打造经典鼠标触发显示选项
div+css中Class与ID的区别
CSS Div 最小高度在IE 6 和IE 7中的兼容性问题
让iframe自适应高度(支持xhtml)IE firefox兼容
实用的利用 CSS + <em>标签 来完成一个三角形的制作
CSS控制文本自动换行的问题
把 CDATA 中的内容(有可能是不规范的Html代码)以Html方式展现出来。
仿客齐集首页导航条DIV+CSS+JS [代码实例]
关于margin-left的示例代码
CSS优化2-(常用CSS缩写语法总结)
font和line-height之CSS代码书写顺序不同,导致显示效果不一样
推荐三种简洁的Tab导航(网页选项卡)简析
用纯CSS+DIV写的漂亮Flash幻灯片及SQL标签教程!
解决IE5/IE5.5/IE6/FF的兼容性问题——CSS
CSS2实现的隔行换色
CSS中几种常见的注释
dhtml shtml xhtml的区别解析

CSS样式表 中的 utf8和unicode编码究竟是什么关系?有何区别?


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 93 ::
收藏到网摘: n/a

UTF8 == Unicode Transformation Format -- 8 bit
是Unicode传送格式。即把Unicode文件转换成BYTE的传送流。
UTF8流的转换程序:
Input: unsigned integer c - the code point of the character to be encoded (输入一个unicode值)
Output: byte b1, b2,b3, b4 - the encoded sequence of bytes (输出四个BYTE值)
Algorithm(算法):
if (c<0x80)
b1 = c>>0 & 0x7F | 0x00
b2 = null
b3 = null
b4 = null
else if (c<0x0800)
b1 = c>>6 & 0x1F | 0xC0
b2 = c>>0 & 0x3F | 0x80
b3 = null
b4 = null
else if (c<0x010000)
b1 = c>>12 & 0x0F | 0xE0
b2 = c>>6 & 0x3F | 0x80
b3 = c>>0 & 0x3F | 0x80
b4 = null
else if (c<0x110000)
b1 = c>>18 & 0x07 | 0xF0
b2 = c>>12 & 0x3F | 0x80
b3 = c>>6 & 0x3F | 0x80
b4 = c>>0 & 0x3F | 0x80
end if
=====================
unicode 是一种编码表格,例如,给一个汉字规定一个代码。类似 GB2312-1980, GB18030等,只不过字集不同。
=====================
一个unicode码可能转成长度为一个BYTE,或两个,三个,四个BYTE的UTF8码,取决于unicode码的值。英文unicode码因为值小于0x80,只要用一个BYTE的UTF8传送,比送unicode两个BYTEs快。
UTF8是为传送unicode而想出来的“再编码”方法罢了。
UTF8转unicode用我上面给的程序反算即可。
UTF8是现有ASCII系统转向Unicode系统的一个过渡解决方案。UTF8是保证 ASCII兼容性,再向大字符集方向扩展。这是Unicode推荐的方案。但是因 为解决问题的角度不同,对现有的中文系统不是好的解决方案。 一下连接提供了详细的 UTF8编码的初步知识 http://www.acnis.com/modules.php?name=ArticlE&file=article&sid=102 参考资料:http://www.acnis.com/modules.php?name=ArticlE&file=article&sid=102
什么是Unicode。Unicode的基本目标是统一所有的编码,即它包含所有的字符集。这样只要一个系统支持Unicode,那么,就能处理这些字符集。一般Unicode有两个字节。现在的windows操作系统都是支持Unicode的。
什么是UTF8呢?UTF8是一种Unicode编码,即它的编码的字符集和Unicode是一致的。但编码的方式不一样。对于英文字符来讲,UTF8的编码和一般的一样,用到一个字节。但对于中文来讲,那么要用三个字节表示(记忆中是三个)。
UTF8和Unicode的缺点是在处理查找、搜索等问题时,好像算法上比较复杂,效率不高(记忆中)。