社区
工具平台和程序库
帖子详情
char* 与 TCHAR* 存同样的中文,在内存中的值不同,是什么原因
szn_409
2015-11-16 08:45:18
在定义了 UNICODE 的情况下
char* szn = "是真难"; 内存值为ca c7 d5 e6 c4 d1 00
TCHAR* tszn = _T("是真难"); 内存值为 2f 661f 77 be 96 00 00
环境为vs2010
我想知道char* 的编码方式是什么, 是如何存储中文字符的
谢谢
...全文
103
4
打赏
收藏
char* 与 TCHAR* 存同样的中文,在内存中的值不同,是什么原因
在定义了 UNICODE 的情况下 char* szn = "是真难"; 内存值为ca c7 d5 e6 c4 d1 00 TCHAR* tszn = _T("是真难"); 内存值为 2f 661f 77 be 96 00 00 环境为vs2010 我想知道char* 的编码方式是什么, 是如何存储中文字符的 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
赵4老师
2015-11-17
打赏
举报
回复
GBK
「已注销」
2015-11-17
打赏
举报
回复
TCHAR 是一个不确定类型,取决于你项目设置为何种编码。 TCHAR 可能是 char 或 WCHAR。而 VS 现在的版本工程默认编码都是 Unicode,即 WCHAR。
paschen
2015-11-16
打赏
举报
回复
在Unicode编码下 TCHAR是wchar_t 在多字节下是char
fefe82
2015-11-16
打赏
举报
回复
应该说是字符串常量的编码是什么。 这个与操作系统、编译器都有关。 中文 Windows 系统下使用 Visual Studio 提供的编译器的话,普通字符串常量的编码通常是 GBK。宽字符串(L“是真难") 的编码是 utf-16 。 _T("xxx") 在定义了 UNICODE 的情况下会被解释成 L"xxx" (宽字符串)
string、wstring、cstring、
char
、 t
char
、int、dword转换方法
各种字符串类型的转换方法,留着备份以后使用
VC++
中
字符串的处理
CString ,BSTR ,LPCTSTR之间关系和区别CString是一个动态T
CHAR
数组,BSTR是一种专有格式的字符串(需要用系统提供的函数来操纵,LPCTSTR只是一个常量的T
CHAR
指针。CString 是一个完全独立的类,动态的T
CHAR
数组,封装了 + 等操作符和字符串操作方法。typedef OLE
CHAR
FAR* BSTR;typedef const
char
* LPCTSTR;
Windows Data Type
window data type
C++字符串完全指引
一份字符串资料,细节很多,用来参看不错。
基础COM知识
介绍在ADO
中
涉及到的数据类型转换。BSTR、VARIANT、COleVariant、_variant_t、CComBSTR、_bstr_t (2011-09-01 14:23:30) 转载▼ 标签: 杂谈
char
是C语言标准数据类型,字符型,至于由几个字节组成通常由编译器决定,一般一个字节。Windows为了消除各编译器的差别,重新定义了一些数据类型,你提到了另外几个类型都是这样。
CHAR
为单字节字符。还有个W
CHAR
为Unicode字符,即不论
中
英文,每个字有两个字节组成。如果当前编译方式为ANSI(默认)方式,T
CHAR
等价于
CHAR
,如果为Unicode方式,T
CHAR
等价于W
CHAR
。LPCSTR 相当于CONST
CHAR
* 和LPSTR 相当于
CHAR
*。 LPSTR、LPCSTR相当于
char
*,所以这种类型变量的赋
值
等同于
char
*的赋
值
。Ex1: LPSTR lpstrMsg = "I'm tired.";
工具平台和程序库
24,855
社区成员
27,329
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章