unicode下数据之间的转换

首先mfc下字符串只有两种数据:char(一个字节)和wchar_t(两个字节),很多其他数据类型如TCHAR,WCHAR等都是这个两个基本类型的宏定义,BYTE是uchar

1、对话框打印char*

 char* info="";

::MessageBoxA(this->m_hWnd, info, "", MB_OK);

2、CString转char*

int nLen;
char * wsabuf = NULL;
USES_CONVERSION;
wsabuf = W2A(send_txt_str);//send_txt_str为CString消息

3、char*转CString

直接强制转换

4、_T("AA")转0xAA

BYTE byte1 = wcstol(_T("AA"), NULL, 16);

5、_T("你好")转C4 E3 BA C3

用2的方法转char*->BYTE*,定义一个循环,在循环中定义一个临时CString变量Format取出单个BYTE元素

6、字符串转整数,“ff”、_T("ff")转256

用atoi那一系列函数(a代表ascii,to代表转化,i代表int)

同上还有itoa一系列函数

ttoi(),CString转整数

使用strtol系列函数:(str to long)

int a;

CString str;

str=_("1234");

a=wcstol(str,NULL,10);

a->1234

7、_T("01FF")转十进制:511

long a = wcstol(_T("01FF"),NULL,16);//a=511

8、整数转字符串

_ltoa

9、把整数的十六进制转化成CString
int a=20;
CString temp_str;
temp_str.Format(_T("%02x"),20);
10、C4 E3 BA C3转_T("你好")
强制转换(CString)
posted @ 2016-12-08 21:44  朱小勇  阅读(1465)  评论(0编辑  收藏  举报