MFC,vs工程属性中的字符集的问题。

MFC,工程属性中的字符集设为“Unicode”或者“多字节字符集”或者“未设置”,对工程内的字符串编码有什么影响,尤其是“未设置”代表什么?顺便帮忙回答一下“赵双10”... MFC,工程属性中的字符集设为“Unicode”或者“多字节字符集”或者“未设置”,对工程内的字符串编码有什么影响,尤其是“未设置”代表什么?
顺便帮忙回答一下“赵双10”分别在“Unicode”下编码是什么,“多字节字符集”下编码是什么?
能不能给个在“多字节字符集”属性下的解密工具的代码呀,
举个例子,我输入“d5d4cbab3130”
需要能输出“赵双10”
展开
 我来答
zhccsd
2014-09-12 · TA获得超过4042个赞
知道大有可为答主
回答量:1347
采纳率:66%
帮助的人:915万
展开全部

多字节字符集”或者“未设置都是非UNICODE

UNICODE下默认字符串中不管是中文还是英文都占一个基本存储单元2个字节(UNICODE的基本单元是short)

非UNICODE也就是跟VC6.0一样,默认字符串的基本单元是1个字节的char,英文数字占一个字节,中文占两个字节,编码见下图

上面说到了“默认字符串”的意思是,编程过程中很多API的字符串参数都是LPCTSTR,中间带了T的意思就是编译器自己决定用UNICODE还是非UNICODE,在UNICODE下,LPCTSTR等价于LPCWSTR(wchar_t*),非UNICODE下,LPCTSTR等价于LPCSTR(char*)

所以在UNICODE环境下调用一个api,如果它的参数是LPCTSTR,那么这样的语句不能通过编译

fun( "123" );

必须用

fun( L"123" );

当然也可以用fun( _T("123") );则同时支持这两种环境

追问
能不能给个在“多字节字符集”属性下的解密工具的代码呀,
举个例子,我输入“d5d4cbab3130”
需要能输出“赵双10”
追答
这个无法实现,比如中间出现13,就无法判断这是“1和3两个字节”还是“13这一个字节”
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式