jhluroom 弹jhluroom.blog.chinaunix.net
jhluroom
全部博文(137)
mm(2)
fs(17)
math(1)
boot(3)
init(0)
kernel(12)
blk_drv(4)
chr_drv(5)
源码疑问(1)
2011年(10)
2010年(23)
2009年(104)
高傲的活
小雅贝贝
along819
shiyigud
mcc543
yunpeng_
cynthia
pppstar
Bsolar
badb0y
dadada林
分类: LINUX
2009-12-30 16:18:29
string textUTF8; string textUnicode; textUnicode=UTF8toUnicode((char *)textUTF8.c_str()); ........ string UTF8toUnicode(char *s) { int len = 0; WCHAR* r = new WCHAR[strlen(s) * 2]; while(s[0]) { int bytes = 1; if(s[0] & 0x80) while(s[0] & (0x80 >> bytes)) bytes++; if(bytes == 1) r[len] = s[0]; else { r[len] = 0; for(char*p = s + (bytes - 1); p > s; p--) r[len] |= ((*p) & 0x3F) << ((bytes - (p - s) - 1) * 6); r[len] |= (s[0] & ((1 << (7 - bytes)) - 1)) << ((bytes - 1) * 6); } len++; s += bytes; } r[len] = 0; char*buffer = new char[len * 2 + 1]; ZeroMemory(buffer, len * 2 + 1); ::WideCharToMultiByte(CP_ACP, NULL, r, len, buffer, 1+ 2 * len, NULL, NULL); string str = buffer; delete[] r; delete[] buffer; return str; }
上一篇:Linux操作系统s3c2410 GPIO的宏
下一篇:JAVA TCP 服务端 程序代码
登录 注册