如果UNICODE字符由2个字节表示,则编码成UTF-8很可能需要3个字节,而如果UNICODE字符由4个字节表示,则编码成UTF-8可能需要6个字节。用4个或6个字节去编码一个UNICODE字符可能太多了,但很少会遇到那样的UNICODE字符。
UTF-8转换表表示如下:
UNICODE |
UTF-8 |
00000000 - 0000007F |
0xxxxxxx |
00000080 - 000007FF |
110xxxxx 10xxxxxx |
00000800 - 0000FFFF |
1110xxxx 10xxxxxx 10xxxxxx |
00010000 - 001FFFFF |
11110xxx 10xxxxxx 10xxxxxx 10xxxxxx |
00200000 - 03FFFFFF |
111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx |
04000000 - 7FFFFFFF |
1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx |
实际表示ASCII字符的UNICODE字符,将会编码成1个字节,并且UTF-8表示与ASCII字符表示是一样的。所有其他的UNCODE字符转化成UTF-8将需要至少2个字节。每个字节由一个换码序列开始。第一个字节由唯一的换码序列,由n位1加一位0组成。n位1表示字符编码所需的字节数。
示例
UNICODE uCA(11001010) 编码成UTF-8将需要2个字节:
uCA -> C3 8A
UNICODE uF03F (11110000 00111111) 编码成UTF-8将需要3个字节:
u F03F -> EF 80 BF
译者注:由上分析可以看到,UNCODE到UTF-8的转换就是先确定编码所需要的字节数,然后用UNICODE编码位从低位到高位依次填入上面表示为x的位上,不足的高位以0补充。以上是个人经验,如有错误,请不惜指教,谢过先:)
从百度百科上找的。
分享到:
相关推荐
全面实现Ansi、Unicode、UTF8字符串之间的转换
两个C++类:UTF8自动转换至Unicode,Unicode自动转换至UTF8
delphi7调用delphi2009生成的dll文件会出现乱码问题。是unicode的原因 终于找到了UTF-8、Unicode格式转换函数
内容为utf8编码和unicode编码相互转换的C代码,关于utf8和unicode的用途另一篇博客有介绍,请参考。 压缩包 : ntf_code.rar 列表 ntf_code\uni_utf8.h ntf_code\utf8_u.c ntf_code\utf82u.c ntf_code\u2utf8.c ntf_...
unicode转换UTF8.rar unicode转换UTF8.rar unicode转换UTF8.rar unicode转换UTF8.rar unicode转换UTF8.rar unicode转换UTF8.rar
文章简述了C++ UTF-8与 Unicode互相转换的规则与技术,附加转换代码
VB StrConv函数转Unicode存在中文乱码的缺陷,现在通过自主撰写的函数完成utf8到Unicode的转换
将UNICODE字符集与UTF-8字符集相互转换
require "lc" print(lc.help());... u2w(utf8 to unicode) w2a(unicode to ansi) w2u(unicode to utf8) u2a(utf8 to ansi) a2u(ansi to utf8) bstr(bytes of str) help(show this) wunoman@qq.com 2012/03/06
utf-8与unicode相互转换代码
易语言unicode转换UTF8.rar 易语言unicode转换UTF8.rar 易语言unicode转换UTF8.rar 易语言unicode转换UTF8.rar 易语言unicode转换UTF8.rar 易语言unicode转换UTF8.rar
PowerBuilder9.0开发环境下,可以把UTF-8的编码转换为Unicode的编码格式,在pb9.0环境下测试通过。
易语言源码unicode转换UTF8.rar
多字节与UTF-8、Unicode之间的转换 ,里面有相互转换的6个函数 ,稍微修改下可以加到自己的c++程序中,比较好用
ANSI --> Unicode ANSI --> Unicode big endian ANSI --> UTF-8 Unicode --> ANSI Unicode --> UTF-8 UTF-8 --> ANSI UTF-8 --> Unicode UTF-8 --> Unicode big endian ...utf8转别的,首先检验BOM,不合格不转换
utf-8 unicode gb2312 汉字编码
文本UTF-8格式转换为Unicode的格式,用法如下: Utf8ToUnicode.exe 源文件名 目标文件名
unicode_utf8转换
压缩包包括4个函数:gbk转unicode互相转换; utf8和unicode相互转换