
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 · 797 阅读 · 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 · 660 阅读 · 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 · 1943 阅读 · 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 · 1426 阅读 · 0 评论 -
CString与LPCWSTR、LPSTR、char*、LPWSTR等类型的转换
一.CString与LPCWSTR 两者的不同:LPCWSTR 是Unicode字符串指针,初始化时串有多大,申请空间就有多大,以后存贮若超过则出现无法预料的结果,这是它与CString的不同之处。而CString是一个串类,内存空间类会自动管理。 CString转换成LPCWSTR 方法一:CString strFileName;转载 2013-06-30 10:15:04 · 631 阅读 · 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 · 534 阅读 · 0 评论