在vs2008中有设置字符集选项:工程->Properties->Configuration Properties->General::Character Set   如下图:

Not Set默认使用多字节

Use Unicode Character Set使用宽字节(UTF-16)

Use Multi-Byte Character Set使用多字节

具体定义如下:

typedef unsigned short wchar_t;

typedef char CHAR;

typedef wchar_t WCHAR;

// Poniter to 8-bit character(s)

typedef CHAR *PCHAR;

typedef CHAR *PSTR;

typedef CONST CHAR *PCSTR;

// Poniter to 16-bit character(s)

typedef WCHAR *PWCHAR;

typedef WCHAR *PWSTR;

typedef CONST WCHAR *PCWSTR;

Unicode 与 ANSI 字符的转换

int MultiByteToWideChar(UINT CodePage,DWORD dwFlags,LPCSTR lpMultiByteStr,int cchMultiByte,LPWSTR lpWideCharStr,int cchWideChar);
int WideCharToMultiByte(UINT CodePage,DWORD dwFlags,LPCWSTR lpWideCharStr,int cchWideChar,LPSTR lpMultiByteStr, int cchMultiByte,
LPCSTR lpDefaultChar,
LPBOOL pfUsedDefaultChar
);
具体使用方法:
1.参数一:CodePage
使用CP_ACP代码页就实现了ANSI与Unicode之间的转换。
使用CP_UTF8代码页就实现了UTF-8与Unicode之间的转换。
2.参数二:dwFlags
该参数允许我们进行额外的控制(一般情况下使用 0)
3.参数三:lpMultiByteStr & lpWideCharStr
指定要转换的字符串
4.参数四:cchMultiByte & cchWideChar
参数指定字符串的长度(字节数),如果传值-1,函数便可以自动判断字符串的长度。MultiByteToWideChar调用返回的值*sizeof(wchar_t),而WideCharToMultiByte调用返回的值就是确保转换成功的字节数。
5.参数五:lpWideCharStr & lpMultiByteStr
内存缓冲区,其内存地址由参数指定。
6.参数六:
缓冲区最大长度(字符不是字节),如果传入值为0,函数就不会执行转换,而是返回一个字符数。

转载于:https://www.cnblogs.com/zhangzfan/p/4071583.html

unicode ascii相关推荐

  1. Ansi,UTF8,Unicode,ASCII编码的区别

    近日需要不同的编码,关于上述编码,一直迷迷糊糊,查了些资料,总算大致了解了, 下面全是从网上搜来的: 1.  ASCII和Ansi编码     字符内码(charcter code)指的是用来代表字符 ...

  2. python进制转换,unicode,ascii编码转换

    一.各进制的字符串转10进制~ int('字符串',2[16|8]) #可以把进制形式的字符串按照2进制|16进制|8进制的方式转成10进制 例: int('79',16) 121int('01010 ...

  3. 【字符编码】 简洁理解ANSI,UTF8,Unicode,ASCII编码的差别

    目录 简略 说明 1.  ASCII和ANSI编码 2. UNICODE 4.  UTF-8 参考 简略 ASCII             1个字节=1个文字 ANSI                ...

  4. ASCII、Unicode、UTF-8

    ASCII.Unicode.UTF-8 ASCII ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字 ...

  5. java 字符串长度 ascii_将Unicode转换为ASCII而不更改字符串长度(在Java中)

    将字符串从Unicode转换为ASCII而不改变其长度的最佳方法是什么(在我的情况下这非常重要)?此外,没有任何转换问题的字符必须与原始字符串中的位置相同. 因此,"Ä"必须转换为 ...

  6. 字符编码:ANSI、ASCII、Unicode、UTF-8、UTF-16、UTF-32概念和格式转换

    1.ASCII ASCII码是字符集,使用指定的7 位或8 位二进制数组合来表示128或256 种可能的字符.分为标准ASCII .扩展ASCII . 标准ASCII 码也叫基础ASCII码,使用7 ...

  7. HTML转义字符 Unicode和CSS伪类介绍

    CSS 伪类用于向某些选择器添加特殊的效果. a:link {color: #FF0000} /* 未访问的链接 */ a:visited {color: #00FF00} /* 已访问的链接 */ ...

  8. php 正则匹配unicode,PHP中正则表达式对UNICODE字符码的匹配方法

    网友ainiaa的问题是 PHP代码如下 代码如下:$words = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSRUVW ...

  9. unicode html转义字符,HTML转义字符 Unicode和CSS伪类介绍(示例代码)

    CSS 伪类用于向某些选择器添加特殊的效果. a:link {color: #FF0000} /* 未访问的链接 */ a:visited {color: #00FF00} /* 已访问的链接 */ ...

最新文章

  1. 【工具类】遍历扫描目录下全部文件并列出
  2. 解决 从数据库中读出 的文本中的回车无法在 jsp网页上起作用的问题
  3. JS重点语法及常用对象总结
  4. webstorm 设置tslint_webstorm(2019)配置eslint规范
  5. Python实现三级菜单(字典和列表的使用)
  6. 日志级别动态调整——小工具解决大问题
  7. java没通过测试_我们应该把没有通过测试的故事回退到“开发”状态吗
  8. html中使用什么标签做的导航栏_自媒体人如何自己建立一个手机网站,超简单,任何人都能做...
  9. pythonweb好难-(2017)我不建议使用的Python Web框架
  10. mysql fulsh_MYSQL教程:MySQL用户帐号管理_MySQL
  11. 计算机主机拆解,计算机硬件系统及主机拆解..ppt
  12. 81、通过secureCRT连接虚拟机时几种连接方式的不同
  13. C# 根据空格数截取
  14. pidgin-lwqq
  15. 基于Haproxy的高可用实战
  16. excel两列数据绘制单折线图
  17. c# redies 安装 和使用
  18. 设计点类 Point,能够表示平面当中的任意点
  19. 手机收不到第三方发送的短信及验证码
  20. 泰坦尼克号数据挖掘项目实战——Task7 模型融合

热门文章

  1. JS弹出DIV并使整个页面背景变暗功能的实现代码
  2. c++ auto用法_不想写表达式的类型?试试auto吧
  3. java 将pdf转换成word_java如何实现pdf转word?
  4. linux查看php日志命令,linux查看日志的三种命令是什么,linux查看进程命令
  5. java windows wrapper_Java Service Wrapper 发布windows后台程序的方法
  6. java throws catch_java中throws与try...catch的区别点
  7. 如果王思聪是产品经理
  8. 如何用原型体现你的专业度?
  9. 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。
  10. php html转成数组,PHP_php将HTML表格每行每列转为数组实现采集表格数据的方法,本文实例讲述了php将HTML表格每 - phpStudy...