求:C语言utf8转utf16详细源码和教程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求:C语言utf8转utf16详细源码和教程相关的知识,希望对你有一定的参考价值。

哈哈,选我吧!运气不错,不就前做过这个,不过是C++的稍微改了一下,给你看能不能用
请先阅读一下给你的参考网址
http://blog.csdn.net/dengyunze/article/details/160958
-------------------------------------------------------------------------------------------
voidUtf162UTF8(constwchat_tszIn[],intnSourceLen,charszOut[])

unsignedcharfirstchar=0;//临时变量存储3字节utf-8编码的三个字节中的一个
unsignedcharsecondchar=0;//同上
unsignedcharthirdchar=0;//同上
wchat_tvalue=0;
intindex=0;//将转换过的字符存入szOut的索引
for(inti=0;i=0x0080&&(unsignedchar)szIn[i]>6)&0xef)|0xc0;
secondchar=(value&0x3f)|0x80;
szOut[index++]=firstchar;
szOut[index++]=secondchar;

//同两字节utf-8编码这里进行的操作即为将后面的[1110xxxx10xxxxxx10xxxxxx]中的16位x分别取出来然后组成一个16位的数,既为utf-16编码
elseif((unsignedchar)szIn[i]>=0x0800&&(unsignedchar)szIn[i]>12)|0xe0;
secondchar=((value>>6)&0x3f)|0x80;
thirdchar=(value&0x3f)|0x80;
szOut[index++]=firstchar;
szOut[index++]=secondchar;
szOut[index++]=thirdchar;



--------------------------------------------------------------------------------------------------
voidUTF82utf16(constchar*szIn,wchat_tszOut[])

wchar_tvalue=0;//
unsignedcharfirstchar=0;//临时变量存储3字节utf-8编码的三个字节中的一个
unsignedcharsecondchar=0;//临时变量存储3字节utf-8编码的三个字节中的一个
unsignedcharthirdchar=0;//临时变量存储3字节utf-8编码的三个字节中的一个
intindex=0;
for(unsignedinti=0;i=127//若字符不是普通字符则对齐进行解码,
&&(unsignedchar)szIn[i+1]>=127//判断后面的2个字符是否也不是普通字符若都不是则为3字节utf-8编码
&&(unsignedchar)szIn[i+2]>=127)//此过程为上面编码过程的逆过程

firstchar=szIn[i];
secondchar=szIn[i+1];
thirdchar=szIn[i+2];
value=(firstchar&0x1f)=127
&&(unsignedchar)szIn[i+1]>=127)

firstchar=szIn[i];
secondchar=szIn[i+1];
value=(firstchar&0x1f)<<6;<br>value|=(secondchar&0x3f)
szOut[index++]=value;
i+=2;

else

szOut[index++]=value;
++i;



代码写得不好,见谅
有问题Email:jarvisvictory@gmail.com
参考技术A void Utf162UTF8(const wchar_t szIn[], int nSourceLen, char szOut[])

求:mysql视频教程下载地址?

MySql的专辑http://so.56.com/index?key=MySql&type=album&charset=utf-8&bn=
MySql的视频http://so.56.com/index.php?key=MySql&charset=utf-8

可用硕思、迅雷下载,免费的。
参考技术A 搜索
"
网罗设计
"
这4个字就有图文.电子书.书籍.光盘.素材.视频教程打包下载!

以上是关于求:C语言utf8转utf16详细源码和教程的主要内容,如果未能解决你的问题,请参考以下文章

如何使用C语言将汉字转换成UTF8编码,如将“你好”转成:%E4%BD%A0%E5%A5%

求一个用c语言写的DES加密算法~~

易语言汉字转utf-8

c#字符串转成utf8的问题

utf-8字符串转成中文如何转换

UTF8原理是啥?如何用C编写UTF8的转换代码?