为了支持Unicode编码,需要多字节与宽字节之间的相互转换。这两个系统函数在使用时需要指定代码页,在实际应用过程中遇到乱码问题,然后重新阅读《Windows核心编程》,总结出正确的用法。WideCharToMultiByte的代码页用来标记与新转换的字符串相关的代码页。MultiByteToWid...
分类:
其他好文 时间:
2015-01-07 23:34:17
阅读次数:
208
现在都用宽字节(unicode)了,所以建议使用wstring取代string(ansi版)不像CString一样有Format函数去转换,string/wsting类型需要手动转换#include #include using namespace std;using std::endl;using...
分类:
其他好文 时间:
2015-01-03 10:35:13
阅读次数:
262
最近开发的语音识别的项目经常碰到转码的问题,各种宽窄字节转换,ASNI, UTF8, 宽字节 …… 代码写得冗长,繁琐,维护性太差了。决定自己写一个能直接使用各种编码的字符串类,于是实现了一个,功能不多,但是也够用。由于string 和 wstring 在多线程下共享数据会出问题,这里只用最基础的char 和 wchar_t。
基于Windows平台,代码如下
/*
********...
关于SQLite中出现中文乱码的分析以及解决方案
我们在使用SQLite数据库时候,可能会发现,向数据库插入数据时候显示的是汉字,但通过SQLite读出来时却显示的乱码,这是因为SQLite数据库所支持的编码方式和我们程序中的编码方式不一样,SQLite数据库采用的是UTF-8编码方式,而我们在程序中常常使用的是宽字节uncoid编码方式,所以使用SQLite数据库读出来以后会显示乱码,...
分类:
数据库 时间:
2014-11-24 10:14:36
阅读次数:
154
标准IO由ISO C 标准的IO库,它处理了很多底层细节,比如合适的缓冲大小等等,因此更易于使用,但是也引入了一些其他问题。 流向 标准IO使用FILE对象关联流,流可以是面向宽字节的也可以是面向单字节的,当流初始化的时候是没有方向的,如果后面的IO操作是处理的宽字符集的,流变成面向宽字节的,如果哦...
分类:
其他好文 时间:
2014-11-05 22:53:09
阅读次数:
296
char :单字节变量类型,表示ASCII码。wchar_t :宽字节变量类型,用于表示Unicode字符。在定义为:typedef unsigned short wchar_t。TCHAR: VS下的中间类型。在“使用Unicode字符集”下TCHAR定义为wchar_t,在字符集 “未设置” 条...
分类:
其他好文 时间:
2014-08-21 09:37:03
阅读次数:
257
1. 需要写入非ascii文本并且与本地编码无关时,除了utf8,unicode编码是另外一个选择,它的好处是占两个字节,便于统计字符和对字符进行处理,因为有对应的宽字节的函数,如wcslen.
2.需要注意的亮点,要先写入0xff,0xfe文件头,之后使用fwprintf时用%S(大写)格式写入宽字节字符串。
3.使用_wfopen支持中文路径....
分类:
编程语言 时间:
2014-08-14 10:53:58
阅读次数:
301
前言在mysql中,用于转义的函数有addslashes,mysql_real_escape_string,mysql_escape_string等,还有一种情况是magic_quote_gpc,不过高版本的PHP将去除这个特性。首先,宽字节注入与HTML页面编码是无关的,笔者曾经看到就放弃了尝试,...
分类:
其他好文 时间:
2014-07-09 00:13:58
阅读次数:
238
实际就是由宽字节转换为多字节的过程
-------------
首先MultiByteToWideChar(CP_UTF8, 0, (LPCSTR)szOut, -1, (LPWSTR)wszGBK, len) 转换UTF-8 到表中UNICODE
然后
WideCharToMultiByte(CP_ACP, 0, (LPWSTR)wszGBK, -1, szGBK, len, NULL,...
分类:
其他好文 时间:
2014-06-13 21:23:33
阅读次数:
318
直接代码:注:编译环境VS2010 SP1 1
/*实现宽字节和窄字符转换以及中文文件的输入输出*/ 2 3 #include 4 #include 5 #include 6 #include 7
#include 8 #include 9 #include 10 ...
分类:
其他好文 时间:
2014-05-08 19:39:28
阅读次数:
583