代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
C
】
Unicode字符串转成UTF8字符串
作者:
/ 发布于
2011/1/5
/
513
<div>char* __stdcall UnicodeToUtf8( const WCHAR* wstr ) { const WCHAR* w; // Convert unicode to utf8 int len = 0; for ( w = wstr; *w; w++ ) { if ( *w < 0×0080 ) len++; else if ( *w < 0×0800 ) len += 2; else len += 3; } unsigned char* szOut = ( unsigned char* )malloc( len+1 ); if ( szOut == NULL ) return NULL; int i = 0; for ( w = wstr; *w; w++ ) { if ( *w < 0×0080 ) szOut[i++] = ( unsigned char ) *w; else if ( *w < 0×0800 ) { szOut[i++] = 0xc0 | (( *w ) >> 6 ); szOut[i++] = 0×80 | (( *w ) & 0×3f ); }else { szOut[i++] = 0xe0 | (( *w ) >> 12 ); szOut[i++] = 0×80 | (( ( *w ) >> 6 ) & 0×3f ); szOut[i++] = 0×80 | (( *w ) & 0×3f ); } } szOut[ i ] = ‘\0‘; return ( char* )szOut; } </div>
试试其它关键字
同语言下
.
获取手机通讯录 iOS去除数字以外的所有字符
.
异步加载音乐等资源
.
交通罚单管理系统
.
freemark实现,简单的替换
.
计算斐波那契数列
.
base64解码 包括解码长度
.
图像显示
.
冒泡排序
.
输入十进制数,输出指定进制
.
链式栈
可能有用的
.
获取手机通讯录 iOS去除数字以外的所有字符
.
异步加载音乐等资源
.
交通罚单管理系统
.
freemark实现,简单的替换
.
计算斐波那契数列
.
base64解码 包括解码长度
.
图像显示
.
冒泡排序
.
输入十进制数,输出指定进制
.
链式栈
贡献的其它代码
Label
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3