有关宽字符wchar_t编码方式的问题
来源:互联网 发布:淘宝店描述 编辑:程序博客网 时间:2024/05/29 15:01
在工程文件时,常常遇到字符乱码的问题,查了下,归结于宽字符wchar_t和窄字符char的区别。
简单说下这两者之间的区别:
1、char是8bit数据,能表示ASCII码中前256个字符,包括前128个可见字符和后128个不可见字符。
2、wchar_t是因为char所能表示的字符数太少(256个)而应运而生的,它的长度可以8bit,16bit,32bit,长度是与不同平台上的c库相关的。其实这个长度是根据指定平台上想要用的encoding编码方式来设定的。
在win32 MSVC环境下,c库中wchar_t的长度是2个byte,定义如下:
typedef unsigned short wchar_t; /* 16 bits */
wchar_t是按照UTF-16编码方式设定的,但是wchar_t只要两个字节,所以它只能表示UTF-16的一个子集。wchar_t就是存储的字符的unicode码值的编码值,在windows下就是unicode码值的UTF-16编码值:
在VS中,UNICODE编码和ANSI编码的区别如下:
wchar_t w1= L'中'; //Unicode 编码 wchar_t w2= '中'; //Ansi编码
具体信息详见:http://blog.csdn.net/nodeathphoenix/article/details/7416725
0 0
- 有关宽字符wchar_t编码方式的问题
- char wchar_t 字符的转换有关问题,_T(),L
- Android不支持宽字符 (wchar_t*,及有关宽字符的一些函数运行结果不正确)(wchar_t, wcslen, wcstombs, std::wstring)
- Python中与字符编码方式有关的一个错误
- 字符编码及宽字符类型(wchar_t)的跨平台处理
- 有关字符编码的记录
- C++中宽字符类型(wchar_t)的编码一定是Unicode?
- 字符的编码方式
- 有关宽字符的输出问题
- 宽字符wchar_t *转char *的方法
- 宽字符数组wchar_t的输出
- 宽字符wchar_t
- wchar_t 宽字符
- 字符的编码问题,,,之计算机理解我们的方式
- 有关字符编码的那些前世今生
- 有关XML的编码问题
- 有关MySql的编码问题
- 有关编码的一些问题
- web开发技术总结
- ViewDragHelper笔记
- 学习持久层框架中的小记录
- iOS之UIScrollView实现无限滚动,思路与代码
- D3D中SetTransform(D3DTS_VIEW)出现 0xC0000005: 读取位置 0x00000000 时发生访问冲突
- 有关宽字符wchar_t编码方式的问题
- 得到每个osd的放置组个数
- javaScript (一)数据类型
- 再谈二叉树:重建二叉树
- Http Method
- Android LayoutInflater原理分析,带你一步步深入了解View(一)
- 3105: [cqoi2013]新Nim游戏
- C语言中 malloc,calloc 和 realloc 函数之间的区别
- aop.php