![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Unicode
文章平均质量分 53
imsaws
这个作者很懒,什么都没留下…
展开
-
_T宏
_T _T("")是一个宏,定义于tchar.h下。[1] #define __T(x) L ## x #define _T(x) __T(x) 他的作用是让你的程序支持Unicode编码 因为Windows使用两种字符集ANSI和UNICODE, 前者就是通常使用的单字节方式, 但这种方式处理象中文这样的双字节字符不方便, 容易出现半个原创 2013-06-26 12:39:45 · 764 阅读 · 0 评论 -
宽字符
在ANSI/ISO 9899--1990也就是美国国家为程序设计语言C指定的标准(也称为ANSI C)中是这样定义的:用多个字节来代表的字符称之为宽字符,而Unicode只是宽字符编码的一种实现,宽字符并不一定是Unicode。在Windows 1.0(1985年11月发布)中,微软发布windows自有的字符集称为ANSI字符集,因为它是基于ANSI和ISO标准的一个草案,而此草转载 2013-06-26 12:21:40 · 626 阅读 · 0 评论 -
VC++ BSTR、LPSTR、LPWSTR 区别与联系(学习笔记)
STR(Basic STRing,Basic字符串)是一个OLECHAR*类型的Unicode字符串。它被描述成一个与自动化相兼容的类型。由于操作系统提供相应的API函数(如SysAllocString)来管理它以及一些默认的调度代码,因此BSTR实际上就是一个COM字符串,但它却在自动化技术以外的多种场合下得到广泛使用。LPSTR和LPWSTR是Win32和VC++所使用转载 2013-06-26 12:06:29 · 1882 阅读 · 0 评论 -
strcmp 与_tcscmp的区别
strcmp 用来比较ANSI字符串,而_tcscmp用 来比较UNICODE(宽字符)的字符串。ANSI字符串中,1个英文字母为1个字节,1个中文字符为2个字节,遇到0字符表示字符串结束。而在 UNICODE(宽字符)中,所有的字符都为2个字节,此时字符串中间的字节,可能含有0字符,此时就不能用strcmp比较了。Windows使用两种字符集ANSI和UN转载 2013-06-26 12:25:48 · 1326 阅读 · 0 评论 -
CString与LPCWSTR、LPSTR、char*、LPWSTR等类型的转换
一.CString与LPCWSTR 两者的不同:LPCWSTR 是Unicode字符串指针,初始化时串有多大,申请空间就有多大,以后存贮若超过则出现无法预料的结果,这是它与CString的不同之处。而CString是一个串类,内存空间类会自动管理。 CString转换成LPCWSTR 方法一:CString strFileName;转载 2013-06-30 10:15:04 · 604 阅读 · 0 评论 -
关于char, wchar_t, TCHAR, _T(),L,宏 _T、TEXT,_TEXT、L
char :单字节变量类型,最多表示256个字符,wchar_t :宽字节变量类型,用于表示Unicode字符,它实际定义在里:typedef unsigned short wchar_t。为了让编译器识别Unicode字符串,必须以在前面加一个“L”,定义宽字节类型方法如下: wchar_t c = `A' ; wchar_t * p = L"Hello转载 2013-08-24 20:30:23 · 512 阅读 · 0 评论