多字节字符和宽字符
开发多语言版软件,经常会碰到字符编码的问题,看了很多资料都说得不是很清楚,终于碰到一篇讲的不错的文章跟大家分享一下!(时间关系,翻译了重点部分)
char型和wchar型
在日文版Windows上我们用到字符编码是Shift-JIS,主要的用1byte表示英数字,2byte表示日文字符,这种编码表示的字符称作多字节字符。(中文版Windows字符编码:GB231...
分类:
其他好文 时间:
2014-07-22 17:51:45
阅读次数:
198
1 #include "stdio.h" 2 #include "windows.h" 3 4 int main() 5 { 6 char sText[20] = { "多字节字符串!OK!" }; 7 DWORD dwNum = MultiByteToWideChar(CP_A...
分类:
编程语言 时间:
2014-07-01 21:25:57
阅读次数:
336
Unicode字符集和多字节字符集关系原文链接:http://blog.csdn.net/stephen1315/article/details/ 在计算机中字符通常并不是保存为图像,每个字符都是使用一个编码来表示的,而每个字符究竟使用哪个编码代表,要取决于使用哪个字符集(charset)。 在最初...
分类:
其他好文 时间:
2014-06-28 12:07:28
阅读次数:
178
/** * 将字符串拆分为指定最大宽度的字符串数组。单字节字符宽度为1,多字节字符通常宽度为2 *
@param string $msg 要拆分的字符串 * @param int $width 结果数组中每个元素的最大宽度。如10代表10个英文字母或者5个汉字
...
分类:
Web程序 时间:
2014-05-30 04:14:47
阅读次数:
281
1多字节字符集,如"IT学吧",sizeof内存长度为7,因为前面2个字母各占用一个字节,后面两个汉字各占用2个字节,结尾的\0占用一个字节。strlen即字符串长度的结果为6。char
cs[] = "IT学吧";int size = sizeof(cs); //7int len = strlen...
分类:
其他好文 时间:
2014-05-23 08:31:43
阅读次数:
233
1. 截取GB2312中文字符串 0xa0) {$tmpstr .= substr($str, $i,
2);$i++;} else$tmpstr .= substr($str, $i, 1);}return $tmpstr;}?>2.
截取utf8编码的多字节字符串3. UTF-8、GB2312都...
分类:
Web程序 时间:
2014-05-23 05:44:36
阅读次数:
358
CString转char数组首先修改Unicode字符集为多字节字符集,如果不修改字符集使用下面的方法拷贝字符串会出现数据错误,选择项目->项目属性(或直接按alt+F7)->配置属性,在右边找到“字符集”,将“使用Unicode字符集”改为“使用多字节字符集”。保存之后需要重新生成解..
分类:
其他好文 时间:
2014-05-05 12:23:31
阅读次数:
441
之前把调试项目的时候软件界面变成了很古板的那种界面,后来查了一会发现因为字符集的改变,个人习惯统一我一般用同一种字符集,虽然Unicode只涉及语言问题,不过总感觉它占内存,用非字符集,搜索发现将代码中的#ifdef
__UNICODE去掉就可以,注意后面的#endif。 1 #ifdef _UNI...
分类:
其他好文 时间:
2014-05-01 05:27:16
阅读次数:
374