只包含中英文的UTF-8与Unicode的转换(不支持其它语言)
来源:互联网 发布:godaddy域名转入教程 编辑:程序博客网 时间:2024/06/05 21:57
1.UTF8转Unicode
// 把UTF-8转换成Unicodevoid UTF_8ToUnicode(char *pIn,TCHAR* pOut){ char* uchar = (char *)pOut; uchar[1] = ((pIn[0] & 0x0F) << 4) + ((pIn[1] >> 2) & 0x0F); uchar[0] = ((pIn[1] & 0x03) << 6) + (pIn[2] & 0x3F); return;}void UTF8_UNICODE(char *lpIn, int nLen, TCHAR *lpOut){ int i = 0; int j = 0; while( i < nLen ) { WCHAR unicode = 0; if( lpIn[i] > 0 ) { *((char *)&unicode) = lpIn[i++]; } else { UTF_8ToUnicode(lpIn + i,&unicode); i += 3; } lpOut[j++] = unicode; } lpOut[j] = L'/0';}2.Unicode转UTF-8
void UnicodeToUTF_8(TCHAR* pIn,char*pOut){ char* pchar = (char *)pIn; pOut[0] = (0xE0 | ((pchar[1] & 0xF0) >> 4)); pOut[1] = (0x80 | ((pchar[1] & 0x0F) << 2)) + ((pchar[0] & 0xC0) >> 6); pOut[2] = (0x80 | (pchar[0] & 0x3F));}void UNICODE_UTF8(TCHAR* lpIn,int nLen,char* lpOut){ int i = 0; int j = 0; while(i < nLen) { if(*(lpIn+i)>127) { UnicodeToUTF_8(lpIn + i,lpOut + j); j+=3; } else { *(lpOut+j) = (char)*(lpIn+i); j++; } i++; } lpOut[j+1] = 0;}
- 只包含中英文的UTF-8与Unicode的转换(不支持其它语言)
- UNICODE与UTF-8的转换详解
- UNICODE与UTF-8的转换详解
- UNICODE与UTF-8的转换详解
- Unicode与utf-8的转换
- UNICODE与 UTF-8的转换详解
- UNICODE与 UTF-8 的转换详解
- UNICODE与UTF-8的转换详解
- UNICODE(UTF-16)与UTF-8编码的相互转换
- UNICODE(UTF-16)与UTF-8编码的相互转换
- 汉字编码(【Unicode】 【UTF-8】 【Unicode与UTF-8之间的转换】 【汉字 Unicode 编码范围】【中文标点Unicode码】【GBK编码】【批量获取汉字UNICODE码】)
- Unicode 编码与UTF-8编码之间的转换
- UTF-8与UNICODE的关系及代码转换
- 多字节与UTF-8、Unicode之间的转换
- UTF-8与UNICODE的关系及代码转换
- 多字节与UTF-8、Unicode之间的转换
- c# GBK,Unicode,UTF-8编码与汉字的转换
- 多字节与UTF-8、Unicode之间的转换
- Oracle开发专题之:分析函数总结
- Hello
- Smarty 下前后台集成
- SQL 标量函数----->数学函数
- ClassLoader相关
- 只包含中英文的UTF-8与Unicode的转换(不支持其它语言)
- 备忘: DBGridEh 的过滤和排序
- 关于Treeview控件的多级显示
- 黎叔语录
- 使用IDispatch::Invoke函数在C++中调用C#实现的托管类库方法
- SQL*PLUS常用命令介绍
- 黑衣人---走出软件作坊:三五个人十来条枪 如何成为开发正规军(三十四)
- 导出Excel的方法,传入为table或html!
- 随机数产生的三种算法