`
dewei
  • 浏览: 164662 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Visual Studio 2010/2013 string对UTF8的支持总结

 
阅读更多

VisualStudio 2010 SP1环境

 

1、设置string默认编码为utf8,只需要在文件头部加入以下代码

#pragma execution_character_set("utf-8") //默认使用UTF8

 2、debug提示窗口显示utf8,打开C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Packages\Debugger\autoexp.dat文件找到第412到413行,原文如下:

std::basic_string<char,*>{
	preview		( #if (($e._Myres) < ($e._BUF_SIZE)) ( [$e._Bx._Buf,s] ) #else ( [$e._Bx._Ptr,s] ))
	stringview	( #if (($e._Myres) < ($e._BUF_SIZE)) ( [$e._Bx._Buf,sb] ) #else ( [$e._Bx._Ptr,sb] ))

 修改为以下内容

std::basic_string<char,*>{
	preview		( #if (($e._Myres) < ($e._BUF_SIZE)) ( [$e._Bx._Buf,s8] ) #else ( [$e._Bx._Ptr,s8] ))
	stringview	( #if (($e._Myres) < ($e._BUF_SIZE)) ( [$e._Bx._Buf,s8b] ) #else ( [$e._Bx._Ptr,s8b] ))

 

参考:

  1. autoexp.dat入门http://www.thecodeway.com/blog/?p=924

VS2013修改autoexp.dat已经无效,需要修改

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Packages\Debugger\Visualizers\stl.natvis文件,大约755-758行

<Type Name="std::basic_string&lt;char,*&gt;">
    <DisplayString Condition="_Myres &lt; _BUF_SIZE">{_Bx._Buf,s8}</DisplayString>
    <DisplayString Condition="_Myres &gt;= _BUF_SIZE">{_Bx._Ptr,s8}</DisplayString>
    <StringView Condition="_Myres &lt; _BUF_SIZE">_Bx._Buf,s8</StringView>
    <StringView Condition="_Myres &gt;= _BUF_SIZE">_Bx._Ptr,s8</StringView>

 

分享到:
评论

相关推荐

    visual studio2010使用c语言

    3. **编码格式**:Visual Studio 2010 默认使用 UTF-8 编码,这有助于处理包含非 ASCII 字符的字符串。 4. **调试技巧**:利用 Visual Studio 强大的调试工具可以有效帮助开发者定位和解决程序中的问题。例如,通过...

    visual studio 2013 C# DES 加密解密 asp.net 完整 源码 下载

    测试平台 visual studio 2013 win8.1 依据网上资源整理,并亲测,并写出窗口供调用演示,原代码全部打包奉上,可供学习使用。 public static string EncryptDES(string encryptString, string encryptKey) { ...

    visual studio socket通信

    string response = Encoding.UTF8.GetString(receivedData, 0, bytesReceived); Console.WriteLine("Server replied: " + response); ``` 在给定的压缩包文件中,"xads_PCClient"和"xads_PCServer"可能分别代表...

    MFC读取utf8示例

    如果压缩包中包含了整个VS2010工程文件夹,解压后可以直接在VS2010中打开并编译运行,以验证读取UTF-8文件的功能是否正常工作。 理解并掌握如何在MFC环境中读取UTF-8文件是一项基础但重要的技能,它能够帮助开发者...

    c++ utf-8转gbk

    本项目针对VS2010和2012两个版本的Visual Studio提供了UTF-8到GBK,以及GBK到UTF-8的转换支持。 首先,`codecvt`库提供了一个接口,通过这个接口可以实现不同字符编码之间的转换。在C++中,它通常被用来处理locale...

    UTF8文件简体、繁体互换

    例如,`Encoding.UTF8`类可以用来读取和写入UTF8编码的文件,而`String`类提供了丰富的字符串操作方法,包括转换和比较。 实现简繁体互换的关键在于找到合适的转换库或API。在.NET框架中,Microsoft为Unicode转换...

    C#Visual Studio 2008啊斯克码转换器

    在Visual Studio 2008中开发这样的转换器,首先需要了解C#的基本语法和类库,尤其是System.Text命名空间下的类,如Encoding类,它提供了对各种字符编码的支持,包括ASCII编码。通过Encoding.ASCII.GetString()和...

    2C#源码串口 支持各种编码中文UTF-8或GBK 小黄人软件SerialCommDemo

    标题“2C#源码串口 支持各种编码中文UTF-8或GBK 小黄人软件SerialCommDemo”表明这是一个C#编程项目,其主要功能是实现串行通信,并且特别强调了对中文字符编码的支持,包括UTF-8和GBK。 串口通信是计算机硬件之间...

    《QRCode生成二维码(支持中文)源码》

    要将中文信息生成为二维码,使用了有源码的QRCode,但它默认不支持中文,在网上找到的办法,一般都是... 开发环境为Visual Studio 2010 本资料共包含以下附件: QRCodeChina_75404f5d-176b-4928-b288-989e19f624d8.zip

    用Visual_C#实现局域网点对点通讯

    string sMessage = System.Text.Encoding.UTF8.GetString(byStream); MessageBox.Show ( sMessage ); } catch ( System.Security.SecurityException ) { MessageBox.Show ( "防火墙安全错误!","错误", ...

    C# 根据字符串生成二维码的实例代码

    在Visual Studio中,打开包管理控制台并运行以下命令: ```shell Install-Package ZXing.Net ``` 接下来,我们将创建一个新的控制器,名为`StrController`,并添加一个`QRcode`方法来处理二维码生成。在这个方法中...

    C#实现的字符串转MD5码函数实例

    测试环境:WinXP SP3、Visual Studio 2008 SP1、Visual Studio 2010 SP1 更新日期:2014-04-23 */ public string CalculateMD5Hash(string input) { MD5 md5 = System.Security.Cryptography.MD5.Create(); byte[] ...

    ZvLibs 0.0.0.69

    * c++ 类可扩展,继承 CHttpHandle,很容易实现动态页面。 * 支持 multipart/form-data 格式的表单上传文件。 * 使用map&lt;string, string&gt; 存放表单、URL ... * 内有demo程序,在visual studio 2008 下编译通过。

    vs2013连接mysql数据库方法.docx

    本文将详细介绍如何在Visual Studio 2013环境下配置与MySQL数据库的连接,并通过C++代码实现对MySQL数据库的基本操作,包括增、删、改、查等功能。 #### 环境配置 在开始之前,请确保已经安装了以下组件: - 操作...

    Google V8 引擎文档

    此外,Windows 平台上还需要配置 Visual Studio 的编译环境。 - **编译选项**:编译时可以根据实际需求选择不同的模式,如 debug 或 release 模式,以及是否生成共享库(动态链接库)。例如,在 Windows 下,可以...

    vc_mbcsmfc.exe

    标题“vc_mbcsmfc.exe”指的是一个与Visual Studio相关的可执行文件,它主要用于扩展Visual Studio对多字节字符集(MBCS)的支持。在深入讨论这个知识点之前,我们首先要理解什么是MBCS和为什么它在编程,尤其是C++...

    Lua文件反编译汉字乱码处理

    3. **自定义解码算法**:如果你是自行编写反编译程序,那么可以考虑添加对UTF-8的支持。在读取文件时,使用`StreamReader`类,并指定`Encoding.UTF8`,这样能确保读取的汉字正确无误。 4. **VS2013设置**:虽然VS...

    Google V8学习手记,月javascript写服务器端是多少人的梦醒呀,Google v8让javascript和php一样

    2. **初始化编译环境**:在 Windows 平台上,需要运行命令 `cmd /k "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86` 来初始化 VC 编译环境。 3. **编译**:使用 Scons 工具进行编译,可以...

    win32环境下cocos2d-x转码显示中文

    std::wstring utf8_to_gbk(const std::string& utf8_str) { std::wstring_convert&lt;std::codecvt_utf8_utf16&lt;wchar_t&gt;&gt; converter; std::wstring wide = converter.from_bytes(utf8_str); std::wstring gbk; // ...

    C++ VS2015 Release X64 MD编译好的FMT库

    5. **宽字符支持**:不仅支持ASCII字符串,还支持宽字符和多字节字符集,如UTF-8。 6. **国际化(I18N)**:提供对国际化和本地化的支持,可以方便地格式化数字、日期和其他文化特定的格式。 在VS2015中使用这个库...

Global site tag (gtag.js) - Google Analytics