(转)char,wchar_t,TCHAR 3者的区别与联系
来源:互联网 发布:数据库原理pdf下载 编辑:程序博客网 时间:2024/06/01 08:23
2. UNICODE WCHAR*到 char *
CString str(wchar*);
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
LPCSTR 32-bit 指针,指向一个常量字串
LPSTR 32-bit 指针,指向一个字串
LPCTSTR 32-bit 指针,指向一个常量字串。此字串可移植到Unicode 和DBCS
LPTSTR 32-bit 指针,指向一个字串。此字串可移植到Unicode 和DBCS
LPWSTR 32-bit 指针,指向一个unicode字符串的指针
LPCWSTR 32-bit 指针, 指向一个unicode字符串常量的指针
前面的L代表LONG,P就是指针的意思,C就是constant的意思, W是wide的意思,STR就是string的意思
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
LPSTR = char *
LPCSTR = const char *
LPWSTR = wchar_t *
LPCWSTR = const wchar_t *
LPOLESTR = OLECHAR * = BSTR = LPWSTR(Win32)
LPCOLESTR = const OLECHAR * = LPCWSTR(Win32)
LPTSTR = _TCHAR *
LPCTSTR = const _TCHAR *
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
常用函数的char版本和wchar_t版本
size_t strlen( const char *string );
size_t wcslen( const wchar_t *string );
char *strcpy( char *strDestination, const char *strSource );
wchar_t *wcscpy( wchar_t *strDestination, const wchar_t *strSource );
char *strcat( char *strDestination, const char *strSource );
wchar_t *wcscat( wchar_t *strDestination, const wchar_t *strSource );
int strcmp( const char *string1, const char *string2 );
int wcscmp( const wchar_t *string1, const wchar_t *string2 );
-----------------------------------------
字符串声明类型。一般使用通用即可,让程序自动根据所设的编码进行设定。
2. UNICODE WCHAR*到 char *
CString str(wchar*);
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
LPCSTR 32-bit 指针,指向一个常量字串
LPSTR 32-bit 指针,指向一个字串
LPCTSTR 32-bit 指针,指向一个常量字串。此字串可移植到Unicode 和DBCS
LPTSTR 32-bit 指针,指向一个字串。此字串可移植到Unicode 和DBCS
LPWSTR 32-bit 指针,指向一个unicode字符串的指针
LPCWSTR 32-bit 指针, 指向一个unicode字符串常量的指针
前面的L代表LONG,P就是指针的意思,C就是constant的意思, W是wide的意思,STR就是string的意思
Unicode
一种字符编码体系,它对每个字符都用两个字节来表示,不管是否是 ASCII 字符。这种编码体系得到 Microsoft Windows NT 平台的支持,并在 32 位 ActiveX 技术中得以利用。国际标准化组织 (ISO) 字符标准。Unicode 使用 16 位 (2 字节) 编码方案,允许 65,536 个不同的字符空间。Unicode 包含标点符号、数学符号、修饰符号等的表示。
ASCII 字符集
美国标准信息交换码 (American Standard Code for Information Interchange) 的缩写,7 位字符集,广泛用于表示标准 U.S. 键盘上的字母和符号。ASCII 字符集与 ANSI 字符集中的前128 个字符(0 到 127)相同。码值从 0 到 255,代表了字母、数字、标点符号和其他字符。ASCII 码是一种标准化的编码,用以在计算机之间或计算机与外围设备之间交换信息。
ANSI 字符集
Microsoft Windows 使用的美国国家标准研究所 (ANSI) 8 位字符集,它最多可以表示键盘的256 个字符。前 128 个字符表示标准美国键盘上的字母和符号。后 128 个字符表示特殊字符,如国际字母表中的字母,重音符号,货币符号和分数符号等。
unicode和ansi都是字符代码的一种表示形式。
为使计算机支持更多语言,通常使用 0x80~0xFF 范围的 2 个字节来表示 1 个字符。比如:汉字 '中' 在中文操作系统中,使用 [0xD6,0xD0] 这两个字节存储。
不同的国家和地区制定了不同的标准,由此产生了 GB2312, BIG5, JIS 等各自的编码标准。这些使用 2 个字节来代表一个字符的各种汉字延伸编码方式,称为 ANSI 编码。在简体中文系统下,ANSI 编码代表 GB2312 编码,在日文操作系统下,ANSI 编码代表 JIS 编码。
不同 ANSI 编码之间互不兼容,当信息在国际间交流时,无法将属于两种语言的文字,存储在同一段 ANSI 编码的文本中
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lhsxsh/archive/2009/05/29/4224043.aspx
- (转)char,wchar_t,TCHAR 3者的区别与联系
- char,wchar_t,TCHAR 3者的区别与联系
- char,wchar_t,TCHAR 3者的区别与联系
- char,wchar_t,TCHAR 三者的区别与联系(ZZ)
- TCHAR char wchar_t 的区别
- TCHAR char wchar_t 的区别
- TCHAR char wchar_t 的区别
- TCHAR char wchar_t 的区别
- char,wchar_t,TCHAR的区别
- char、wchar_t、tchar的区别
- 【转】char,wchar_t,WCHAR,TCHAR,ACHAR的区别
- char,wchar_t,WCHAR,TCHAR,ACHAR的区别
- char,wchar_t,WCHAR,TCHAR,ACHAR的区别
- char,wchar_t,WCHAR,TCHAR,ACHAR的区别
- TEXT、TCHAR、wchar_t、char的区别
- char,wchar_t,WCHAR,TCHAR,ACHAR的区别
- TCHAR 与 CHAR 的区别
- TCHAR与char的区别
- sql2000导出数据库的数据(以insert语句形式的脚本)
- 程序 python 抓取新浪读书频道小说
- js 限制输入总结
- C++文件操作详解(ifstream、ofstream、fstream)
- java新手
- (转)char,wchar_t,TCHAR 3者的区别与联系
- 没在青春美貌时遇见,却有真爱温暖相伴
- 虚方法与抽象方法之区别
- Oracle sql内置函数
- P2P UDP NAT穿透原理
- ASP.NET 自带的用户验证 COOKIE 过期之谜
- Ext智能提示 - Spket(Eclipse插件)
- 将实体类或者集合序列化为JSON字符串,将JSON字符串反序列化还原为对象
- DB2数据库三种级别的字符集的设置与修改