主页 > 知识库 > utf8和unicode编码究竟是什么关系?有何区别?

utf8和unicode编码究竟是什么关系?有何区别?

热门标签:服务器配置 智能手机 美图手机 检查注册表项 网站文章发布 呼叫中心市场需求 铁路电话系统 银行业务
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 (c0x80) 
b1 = c>>0  0x7F | 0x00 
b2 = null 
b3 = null 
b4 = null 
else if (c0x0800) 
b1 = c>>6  0x1F | 0xC0 
b2 = c>>0  0x3F | 0x80 
b3 = null 
b4 = null 
else if (c0x010000) 
b1 = c>>12  0x0F | 0xE0 
b2 = c>>6  0x3F | 0x80 
b3 = c>>0  0x3F | 0x80 
b4 = null 
else if (c0x110000) 
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=ArticlEfile=articlesid=102 参考资料:http://www.acnis.com/modules.php?name=ArticlEfile=articlesid=102

什么是Unicode。Unicode的基本目标是统一所有的编码,即它包含所有的字符集。这样只要一个系统支持Unicode,那么,就能处理这些字符集。一般Unicode有两个字节。现在的windows操作系统都是支持Unicode的。 

什么是UTF8呢?UTF8是一种Unicode编码,即它的编码的字符集和Unicode是一致的。但编码的方式不一样。对于英文字符来讲,UTF8的编码和一般的一样,用到一个字节。但对于中文来讲,那么要用三个字节表示(记忆中是三个)。 

UTF8和Unicode的缺点是在处理查找、搜索等问题时,好像算法上比较复杂,效率不高(记忆中)。
您可能感兴趣的文章:
  • UTF-8 Unicode Ansi 汉字GB2321几种编码转换程序
  • Encode/DecodeANSIlt;-gt;UTF8两个编码工具 下载
  • 浅析c++ 宏 #val 在unicode下的使用
  • 浅析内存对齐与ANSI C中struct型数据的内存布局
  • java实现十六进制字符unicode与中英文转换示例
  • Mysql中的排序规则utf8_unicode_ci、utf8_general_ci的区别总结
  • Unicode编码大揭秘
  • VC中实现GB2312、BIG5、Unicode编码转换的方法
  • C语言中字符和字符串处理(ANSI字符和Unicode字符)

标签:长治 红河 新疆 河南 沧州 乐山 上海 沈阳

巨人网络通讯声明:本文标题《utf8和unicode编码究竟是什么关系?有何区别?》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266