Windows 既可以使用 Unicode 字符集又可以使用传统的字符集(如多字节编码)来实现对多种语言的支持,以适应国际市场的要求。与传统的字符集编码相比,Unicode 是世界通用的字符编码标准,使用 16 位数据表示一个字符,一共可以表示 65535 种字符,可以包括现代计算机中所使用的所有字符,包括各种字母、文字、在出版业中使用的特殊符号等。

ANSI编码:

1、每种 ANSI 字符集只规定自己国家或地区使用的语言所需的'字符',比如简体中文编码标准 GB-2312 的字符集中就不会包含韩国人的文字。

2、ANSI 字符集的空间都比 ASCII 要大很多,一个字节已经不够,绝大多数 ANSI 编码标准都使用多个字节来表示一个字符,例如一个字节是负数,则将其后续的一个字节组合在一起表示一个字符。这种编码方式的字符集也称作"多字节"字符集。

3、ANSI 编码标准一般都会兼容 ASCII 码。

Unicode编码:

1、统一所有的字符使用两个字节来存放

2、将所有国家的语言都放到一个字符集里

Unicode的产生是为了解决许多8位无法标识的东西。

在 Windows 系统中,Unicode 字符编码和多字节字符编码都可以使用。

示例代码:

#include<windows.h>

int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow){
//const TCHAR * str = TEXT("123");
//TCHAR c[] = TEXT("提示框:");
//MessageBox(NULL, str, c, MB_OK);
//LPCWSTR szUnicode = L"This is a Unicode String;"; //LPWSTR类型是wchar_t *
//而 L"This is a Unicode String;" 的类型是 const wchar_t[26],它可以隐式转化为 const wchar_t *,但不可能隐式转化为 wchar_t * //定义LPCWSTR 类型的宽字符串
LPCWSTR szUnicode = L"This is a Unicode String;";
////定义LPCSTR 类型的窄字符串
LPCSTR szMutliByte = "This is not a Unicode String;";
//定义LPCTSTR 类型的自适用字符串
LPCTSTR szString = TEXT("This string is Unicode or not depends on the option."); //TCHAR a[] = TEXT("123"); //TEXT就是为L进行修饰 如果为UNICODE的话 那么这里的TCHAR就是WCHAR也就是wchar_t
//TCHAR * b = "123"; //如果不是UNICODE的话 那么TCHAR就是char //使用W 版本的API 函数,以宽字符串为参数
MessageBoxW(NULL, szUnicode, L"<字符编码1>", MB_OK);
//使用A 版本的API 函数,以窄字符串为参数
MessageBoxA(NULL, szMutliByte, "<字符编码2>", MB_OK);
//根据编译条件自动选择A 版本或W 版本的API 函数,采用相适应的字符串类型为参数
MessageBox(NULL, szString, TEXT("<字符编码3>"), MB_OK); return 0;
}

最新文章

  1. indexOf、instanceOf、typeOf、valueOf详解
  2. ajax下载多文件,并且打包 C#中 ,文件批下载zip
  3. 创建Oracle10g ASM数据库
  4. FLASH CC 2015 CANVAS 中 gotoAndStop、gotoAndPlay() 不起作用
  5. 【WinAPI】Windows Message 枚举常量收集
  6. 【转】COCOS2D-X之CCHttpRequest下载图片Demo
  7. 微软开放技术发布开源 Jenkins 插件以将 Windows Azure Blob 服务用的开作存储库
  8. oracle timestamp的转换
  9. WPF4多点触摸事件
  10. hdu4635(最多加多少边,使得有向图不是强连通图)
  11. .net之抽象工厂模式
  12. 含有n个元素的整型数组,将这个n个元素重新组合,求出最小的数,如{321,3,32},最小的数为321323
  13. 安徽省2016“京胜杯”程序设计大赛_B_阵前第一功
  14. python定时执行任务的三种方式
  15. 201671010142 2017-2 《java第八章学习感悟》
  16. [Linux] nginx管理员指南基本功能
  17. k8s学习笔记之二:使用kubeadm安装k8s集群
  18. c# 导出表格
  19. 健康检测文件httpchk.jsp
  20. 将网桥的配置写进去/etc/sysconfig/network-scripts/ifcfg-xxx

热门文章

  1. Effective.Java第45-55条(规范相关)
  2. PowerBuilder学习笔记之2PowerScript语言(一)
  3. 百度前端技术学院task15源代码
  4. python环境安装及其就业状况
  5. NETCore使用带有权限验证的Swagger
  6. C#实现服务器间文件同步
  7. vant-ui rem问题
  8. Python面向对象封装案例
  9. vue-cli 3.x版本执行vue ui命令后提示Error: Cannot find module ‘core-js/modules/es7.object.entries’报错的解决方法
  10. struts2启动报错:ERROR com.opensymphony.xwork2.conversion.impl.DefaultConversionPropertiesProcessor - Conversion registration error