CString与UTF8互转代码】的更多相关文章

这个代码网上很多,留在这里做个备份. static std::string ConvertCStringToUTF8( CString strValue ) { std::wstring wbuffer; #ifdef _UNICODE wbuffer.assign( strValue.GetString(), strValue.GetLength() ); #else /* * 转换ANSI到UNICODE * 获取转换后长度 */ int length = ::MultiByteToWide…
参考来源:http://blog.csdn.net/flying8127/article/details/1598521 在原来原基础上,将代码整理,并加强安全性. 并按照WindowsAPI设计, 添加输出缓冲长度探测功能 当OutUTFString为NULL时, 可以进行输出的UTF8字符串长度探测 1: uint32 UniCharToUTF8(wchar_t UniChar, char *OutUTFString) 2: { 3:   4: uint32 UTF8CharLength =…
1 前言 今天在网上看论坛,发现大家对CString与Char *互转各说一词,其实我发现提问者所说的情况与回答问题的人完全不是同一情况,这里做一总结. 首先大家得清楚一件事,一般在网上提出问题的人大部分使用的都是VC,那么你就应该知道,在VC下编程,工程属性中有一属性Charecter Set属性,其值可以设置为Use Multi-Byte Charecter Set 和 Use Unicode Charecter Set 这两种选择,具默认情况下工程是采用了Use Unicode Chare…
简介 1.这段代码只考虑在小端序情况下的转换(一般的机器都是的). 2.这段代码需要C++11的支持(只是用到了u16string),如果不支持,可以添加下面代码 typedef uint16_t char16_t; typedef std::basic_string<char16_t> utfconvert.h #ifndef __UTFCONVERT_H__ #define __UTFCONVERT_H__ #include <string> // 从UTF16编码字符串构建,…
下面来分享一个关于JavaScript实现XML与JSON互转例子,这里面介绍了国外的三款xml转json的例子,希望这些例子能给你带来帮助. 最近在开发在线XML编辑器,打算使用JSON做为中间格式.因为JSON相对于XML,有着容易阅读.解析速度快.占用空间小等优点,更易于在WEB上传递数据.但在实际使用中还是发现了一些易于忽略的细节,对于需要严格保证XML原始结构的情况,在转换成JSON时需要一些注意. XML转换成JSON的格式大概如下: //XML形式 <article> <h…
1.简述 最近在发送网络请求时遇到了中文字符乱码的问题,在代码中调试字符正常,用抓包工具抓的包中文字符显示正常,就是发送到服务器就显示乱码了,那就要将客户端和服务器设置统一的编码(UTF-8),而我们程序中 一般用的是Unicode编码,所以这就需要将中文字符转为UTF-8格式的,其他英文字符和数字就不需要转了.下面就讲述一下方法. 2.代码之路 Unicode 转 UTF-8 char* UnicodeToUtf8(const wchar_t* unicode) { int len; len…
在很多场合能看到unicode编码过的文字,如“\u6d3b\u52a8\u63a5\u53e3”,虽然程序会认识,但人眼无法阅读,很不方便,网络上很多人写了很多的转换函数,但是一个比一个臃肿,终于发现用一行PHP代码解决的方案: $str = '{"success":true,"msg":"\u6d3b\u52a8\u63a5\u53e3"}'; echo $str= preg_replace("#\\\u([0-9a-f]+)#ie…
在做数据转换时,最好包含以下头文件 #include <iostream> #include <cmath> #include <string> #include <sstream> USING_NS_CC; using namespace std; 在cocos2d-x中,也有一个格式刷:CCString(数据转换常常找她做中间人),那么我们要转换类型,可先将起始数据类型刷成CCString然后再转成目的数据类型,这个方法比较方便且实用. //int 转…
function gbk_to_utf8($str){     return mb_convert_encoding($str, 'utf-8', 'gbk'); }   function utf8_to_gbk($str){     return mb_convert_encoding($str, 'gbk', 'utf-8'); }…
1.CString 转 int      CString strtemp = "100";    int  intResult;    intResult= atoi(strtemp);    -----------------------------------------------------------------    2 int 转 CString        CString strtemp;    int i = 2334;     strtemp.Format(&qu…
在做数据转换时,最好包含以下头文件 #include <iostream> #include <cmath> #include <string> #include <sstream> USING_NS_CC; using namespace std; 在cocos2d-x中,也有一个格式刷:CCString(数据转换常常找她做中间人),那么我们要转换类型,可先将起始数据类型刷成CCString然后再转成目的数据类型,这个方法比较方便且实用.   ; CCSt…
1. 基础 1.1 ASCII码 我们知道, 在计算机内部, 所有的信息最终都表示为一个二进制的字符串. 每一个二进制 位(bit)有0和1两种状态, 因此八个二进制位就可以组合出 256种状态, 这被称为一个字 节(byte). 也就是说, 一个字节一共可以用来表示256种不同的状态, 每一个状态对应一 个符号, 就是256个符号, 从 0000000到11111111. 上个世纪60年代, 美国制定了一套字符编码, 对英语字符与二进制位之间的关系, 做了统 一规定. 这被称为ASCII码,…
/// <summary> /// UTF-16转UTF-8 /// </summary> /// <param name="str"></param> /// <returns></returns> public static string UTF16To8(string str) { string res; int i, len, c; res = ""; len = str.Length;…
package main import ( "code.google.com/p/mahonia" "fmt" ) func main() { //"你好,世界!"的GBK编码 testBytes := []byte{0xC4, 0xE3, 0xBA, 0xC3, 0xA3, 0xAC, 0xCA, 0xC0, 0xBD, 0xE7, 0xA3, 0xA1} var testStr string utfStr := "你好,世界!&qu…
编译:gcc -o f.exe f.c -liconv #include <stdio.h> #include <stdlib.h> #include <stddef.h> #include <string.h> #include <unistd.h> #include <iconv.h> #define OUTLEN 255 main() { char *in_utf8 = "姝e?ㄥ??瑁?"; char *i…
Windows: unsigned char * make_utf8_string(const wchar_t *unicode) { , index = , out_index = ; unsigned char *out; unsigned short c; /* first calculate the size of the target string */ c = unicode[index++]; while(c) { if(c < 0x0080) { size += ; } else…
CString转char: CString m_Readcard; char ReaderName[22]; strcpy((char*)&ReaderName,(LPCTSTR)m_Readcard); char 转CString: CString m_Readcard; char ReaderName[22]; CString m_Readcard(ReaderList); 十六进制的BYTE转CString: byte bAttr = {0x12,0xb3,0x3b}; CString m…
1. 基础 1.1 ASCII码 我们知道, 在计算机内部, 全部的信息终于都表示为一个二进制的字符串. 每个二进制 位(bit)有0和1两种状态, 因此八个二进制位就能够组合出 256种状态, 这被称为一个字 节(byte). 也就是说, 一个字节一共能够用来表示256种不同的状态, 每个状态相应一 个符号, 就是256个符号, 从 0000000到11111111. 上个世纪60年代, 美国制定了一套字符编码, 对英语字符与二进制位之间的关系, 做了统 一规定. 这被称为ASCII码, 一直…
1. 基础 1.1 ASCII码 我们知道, 在计算机内部, 所有的信息最终都表示为一个二进制的字符串. 每一个二进制位(bit)有0和1两种状态, 因此八个二进制位就可以组合出 256种状态, 这被称为一个字节(byte). 也就是说, 一个字节一共可以用来表示256种不同的状态, 每一个状态对应一个符号, 就是256个符号, 从 0000000到11111111. 上个世纪60年代, 美国制定了一套字符编码, 对英语字符与二进制位之间的关系, 做了统一规定. 这被称为ASCII码, 一直沿用…
1.1 ASCII码 我们知道, 在计算机内部, 所有的信息最终都表示为一个二进制的字符串. 每一个二进制位(bit)有0和1两种状态, 因此八个二进制位就可以组合出 256种状态, 这被称为一个字节(byte). 也就是说, 一个字节一共可以用来表示256种不同的状态, 每一个状态对应一个符号, 就是256个符号, 从 0000000到11111111. 上个世纪60年代, 美国制定了一套字符编码, 对英语字符与二进制位之间的关系, 做了统一规定. 这被称为ASCII码, 一直沿用至今. AS…
char* UnicodeToUtf8(CString unicode) { int len; len = WideCharToMultiByte(CP_UTF8, 0, (LPCWSTR)unicode, -1, NULL, 0, NULL, NULL); char *szUtf8=new char[len + 1]; memset(szUtf8, 0, len * 2 + 2); WideCharToMultiByte (CP_UTF8, 0, (LPCWSTR)unicode, -1, s…
在做项目的时候文件有的时候编码不同一 经常出现乱码,eclipse统一设置编码 可以解决项目编码混乱的问题, 设置eclipse java,jsp,css,js文件编码的方法如下: 1.在工具栏中点击window->preferences 找到general->workspace 然后在text file encoding中设置成utf-8 如下图 2.设置preperties文件编码,在general ->content type->text->java propretie…
    static std::wstring MBytesToWString(const char* lpcszString);    static std::string WStringToMBytes(const wchar_t* lpwcszWString);    static std::wstring UTF8ToWString(const char* lpcszString);    static std::string WStringToUTF8(const wchar_t* l…
 关于字符集不一的历史原因,可以参考: UNICODE与ANSI的区别 以下是网上转载的资料.我将辅以自己的实例,说明并总结关系. 一.CString, int, string, char*之间的转换(无法区分这几个类型的把这节跳过,最后回来复习) string 转 CString  CString.Format("%s", string.c_str());char 转 CString  CString.Format("%s", char*);char 转 stri…
在Unicode环境下用以下转换: CString z_strCurtTime = _T(""); // 获取当前时间 CTime z_tCurTime = CTime::GetCurrentTime(); z_strCurtTime = z_tCurTime.Format("%Y-%m-%d %H:%M:%S"); int z_len =WideCharToMultiByte(CP_ACP,0,z_strCurtTime,-1,NULL,0,NULL,NULL);…
<html> <head> <meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″> <title>页面代码高亮显示</title> <link rel=”stylesheet” href=”/js/highlight/styles/default.css”> <script src=”/js/highlight/highlight.pack.js”&…
我们知道,CString是MFC中提供的方便字符串操作的一个类,非常好使,具有自动动态内存管理功能. GetBuffer()主要作用是将字符串的缓冲区长度锁定: ReleaseBuffer()则是解除对缓冲区的锁定,这样使得CString对象在以后的代码中继续可以实现长度自适应增长的功能. GetBuffer()说白了就两个功能: 1:就是将CString里面的内存交到外部一个来处理,外部可以直接修改它的内容. 2:重新修改CString的内存大小,这个数值不包含null结尾符. 另一个典型的用…
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>导航代码position:relative</title> <style type="text/css"&g…
http://blog.csdn.net/azhao_dn/article/details/16989777 可能大家都遇到过,python在输出的csv文件中如果有utf-8格式的中文,那么在使用excel打开该csv文件时,excel将不能够有效识别 出文件中的中文数据,严重时甚至不能够识别出分隔符.那么,要怎样操作才能够让excel识别出utf-8格式的中文呢?方法其实很简单,见以下代码: import codecs with open('ExcelUtf8.csv', 'w') as f…
既然是修行,不卖弄关子,不吊胃口,修行成果必须先晒一晒. 下图是我用canvas画的黑客帝国代码雨,想起当年看黑客帝国时,那个代码雨场景让我心旷神怡,大开脑洞,满脑子是那种三维空间,无数0和1像雨一样往下落. 如今不到50行js代码就能实现它,实在是很鸡冻啊! 如何实现? 这个效果看似纷繁眼花,但你剥掉这有点华丽的衣裳,是没多少肉啲. 大部分逻辑我都在代码里写注释了,就40多行代码,码咖们分分钟就能看完啦,我这就简单介绍一下思路: 1.生成代码雨: 代码雨由N列“代码”组成,每列“代码”由于M个…