关于 visual studio(vs2005/vs2008/vs2010)中的Character Set

image

vs2005后的版本为什么会加这一项呢,原因是(http://msdn.microsoft.com/en-us/library/ey142t48(v=vs.80).aspx):

翻译过来就是为了兼容各个国家的文字.比如日文,中文.mfc采用了unicode,与Multibyte Character Sets (MBCS)两种文字编码方式.

现在xp后版本全是采用的unicode编码 .也是因为文字的原因.为了统一..

具体这两种编码方式是个啥情况呢,如下(http://msdn.microsoft.com/en-us/library/ey142t48(v=vs.80).aspx#_core_mfc_support_for_mbcs_strings):

采用MBCS编码,字符可以是动态的,可以是一个字节也可以是两个字节.但最终你所有的代码都会转为unicode进行编译.

采用单字节的字符会映射为双字节的unicode

当你用 _T() 这个宏的时候.所以为了不必要的麻烦.你要是在中国.最好还是选择UNICODE的编码方式.在程序里做一些改变

TCHAR   替换  char.  

LPTSTR   替换 char*.

LPCTSTR   替换 const char*.


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用Visual Studio过程出现文乱码的情况有几种可能的原因。首先,如果项目导入了其他已经创建好的源代码文件,而这些文件的编码不是GB2312,且含有文字符,那么就会导致文乱码。其次,从其他文件复制代码到Visual Studio的文件也可能导致编码错乱。最后,在网络编程,和服务器交互通信时,两端的编码很可能不同,也会导致文乱码。 解决文乱码问题的方法有几种。首先,可以保持控制台编码和源代码编码一致,即修改Visual Studio的调试控制台编码为与系统控制台编码相同的代码页。这可以通过在注册表编辑器修改CodePage的十进制数值实现。另外,可以使用#pragma execution_character_set("UTF-8")代码来指定程序执行时使用的编码和调试窗口编码一致,从而解决乱码问题。然而,修改控制台默认编码可能导致输入的文无法识别,因此不建议使用这种方式。 总结起来,解决Visual Studio文乱码问题的方法包括保持控制台编码和源代码编码一致以及使用指定编码的代码,但需注意不要修改控制台默认编码以避免产生其他问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [visual studio控制台文乱码问题](https://blog.csdn.net/xuan3215/article/details/128557157)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Visual Studio里常见文乱码问题的解决方案](https://blog.csdn.net/DYDlove/article/details/104590763)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值