Unicode和utf-8

来源:互联网 发布:阿里云 网络安全 招聘 编辑:程序博客网 时间:2024/04/29 20:19

在VC中如果采用Unicode方式,那么汉字和英文字符均用两个字节来表示。utf-8的编码用三个字节来表示一个汉字,一个字节来表示一个英文字母。

Unicode 和utf-8的转换为

U-00000000 - U-0000007F: 0xxxxxxx
U-00000080 - U-000007FF: 110xxxxx 10xxxxxx
U-00000800 - U-0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx
U-00010000 - U-001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
U-00200000 - U-03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
U-04000000 - U-7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

其中中文用的是第三行,英文用的是第一行。utf-8都是以1110类似开头的,然后x表示unicode中相应的位值。

VC中WildCharToMultiByte函数是把Unicode转换成gb2312编码。

 

客户端的中文问题由范宏伟解决了。主要原因是expat无法识别unicode,但识别utf-8