社区
工具平台和程序库
帖子详情
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* 的编码方式是什么, 是如何存储中文字符的
谢谢
...全文
87
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,CString,T
CHAR
*,
char
*之间区别和联系
T
CHAR
是一种字符串类型,它让你在以MBCS和UNNICODE来build程序时可以使用
同样
的代码,不需要使用繁琐的宏定义来包含你的代码,而
char
代表ASCII的字符 #ifdef UNICODE typedef w
char
_t T
CHAR
; #else typedef
char
T
CHAR
; #endif 所以用MBCS来build时,T
CHAR
是
char
,使用
Cstring, T
CHAR
*,
char
*的转换
最近老用到Cstring, T
CHAR
*,
char
*的转换. 找到一篇写得蛮详细的. 引用过来, 方便自己以后查阅.
char
是类型T
CHAR
也是!不过他可以通过是否定义了UNICODE宏来判断到底是
char
还是w_
char
; T
CHAR
是一种字符串类型,它让你在以MBCS和UNNICODE来build程序时可以使用
同样
的代码,不需要使用繁琐的宏定义来包含你的代码,而
char
代表ASCII...
C语义
char
*显示
中
文
---ASCII、DBCS、Unicode三种编码---
char
* CString string区别
char
* p = "this is
中
国"; printf("%s",p); output: this is
中
国 疑问: p是指向
char
型的指针,调用printf的时候,它凭什么知道下一个输出的是this is 这样的字符呢,还是"
中
国"这样的汉字,在
内
存
中
"this is "应该是每个字符占一个字节,汉字肯定得要两个字节,到底printf怎么确认下一个输出到底是输出一个字符呢还是
char
,
CHAR
,T
CHAR
,LPSTR,LPCSTR,W
CHAR
,CString
char
是C语言标准数据类型,字符型,至于由几个字节组成通常由编译器决定,一般一个字节。Windows为了消除各编译器的差别,重新定义了一些数据类型。
CHAR
为单字节字符。还有个W
CHAR
为Unicode字符,即不论
中
英文,每个字有两个字节组成。如果当前编译方式为ANSI(默认)方式,T
CHAR
等价于
CHAR
,如果为Unicode方式,T
CHAR
等价于W
CHAR
。LPCSTR 相当于CONST
CHAR
* 和LPSTR 相当于
CHAR
*。 T
CHAR
与
Char
的区别:T
CHAR
是通过条件宏定义定义出来
转载 String,CString,T
CHAR
*,
char
*之间区别和联系
最近老用到Cstring, T
CHAR
*,
char
*的转换.找到一篇写得蛮详细的. 引用过来, 方便自己以后查阅.
char
是类型T
CHAR
也是!不过他可以通过是否定义了UNICODE宏来判断到底是
char
还是w_
char
; T
CHAR
是一种字符串类型,它让你在以MBCS和UNNICODE来build程序时可以使用
同样
的代码,不需要使用繁琐的宏定义来包含你的代码,而
char
代表ASCI
工具平台和程序库
24,854
社区成员
27,343
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章