MFC,vs工程属性中的字符集的问题。
MFC,工程属性中的字符集设为“Unicode”或者“多字节字符集”或者“未设置”,对工程内的字符串编码有什么影响,尤其是“未设置”代表什么?顺便帮忙回答一下“赵双10”...
MFC,工程属性中的字符集设为“Unicode”或者“多字节字符集”或者“未设置”,对工程内的字符串编码有什么影响,尤其是“未设置”代表什么?
顺便帮忙回答一下“赵双10”分别在“Unicode”下编码是什么,“多字节字符集”下编码是什么?
能不能给个在“多字节字符集”属性下的解密工具的代码呀,
举个例子,我输入“d5d4cbab3130”
需要能输出“赵双10” 展开
顺便帮忙回答一下“赵双10”分别在“Unicode”下编码是什么,“多字节字符集”下编码是什么?
能不能给个在“多字节字符集”属性下的解密工具的代码呀,
举个例子,我输入“d5d4cbab3130”
需要能输出“赵双10” 展开
展开全部
多字节字符集”或者“未设置都是非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这一个字节”
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询