void CFunc::GbkToUtf8(CString &strGBK)
{
int len = MultiByteToWideChar(CP_ACP, , (LPCTSTR)strGBK, -, NULL, );
unsigned short *wszUtf8 = new unsigned short[len + ];
memset(wszUtf8, , len * + );
MultiByteToWideChar(CP_ACP, , (LPCTSTR)strGBK, -, wszUtf8, len);
len = WideCharToMultiByte(CP_UTF8, , wszUtf8, -, NULL, , NULL, NULL);
char *pszUtf8 = new char[len + ];
memset(pszUtf8, , len + );
WideCharToMultiByte(CP_UTF8, , wszUtf8, -, pszUtf8, len, NULL, NULL);
strGBK = (CString)pszUtf8; delete []pszUtf8;
delete []wszUtf8;
return;
} void CFunc::Utf8ToGbk(CString &strUtf8)
{
int len = MultiByteToWideChar(CP_UTF8, , (LPCTSTR)strUtf8, -, NULL, );
unsigned short *wszGBK = new unsigned short[len + ];
memset(wszGBK, , len * + );
MultiByteToWideChar(CP_UTF8, , (LPCTSTR)strUtf8, -, wszGBK, len);
len = WideCharToMultiByte(CP_ACP, , wszGBK, -, NULL, , NULL, NULL);
char *pszGBK = new char[len + ];
memset(pszGBK, , len + );
WideCharToMultiByte(CP_ACP, , wszGBK, -, pszGBK, len, NULL, NULL);
strUtf8 = (CString)pszGBK; delete []pszGBK;
delete []wszGBK;
return;
} long CFunc::PackHttp(const char *URL, const char *fileName)
{
FILE *fp = NULL;
char *buffer = new char[MAXBUF];
ULONG nBytesRead = ;
CString strRead = "";
ULONG lTotal = ; CInternetSession session(NULL, , INTERNET_OPEN_TYPE_DIRECT, NULL, );
CStdioFile *pFile = NULL; memset(buffer, , sizeof(buffer));
fp = fopen(fileName, "wb"); try
{
pFile = session.OpenURL(URL, , INTERNET_FLAG_TRANSFER_BINARY | INTERNET_FLAG_RELOAD);
if (!pFile)
{
fclose(fp);
::DeleteFile(fileName);
delete []buffer;
return -;
}
nBytesRead = pFile->Read(buffer, MAXBUF - );
while (nBytesRead > )
{
lTotal += nBytesRead;
fwrite(buffer, , nBytesRead, fp);
memset(buffer, , sizeof(buffer));
nBytesRead = pFile->Read(buffer, MAXBUF - );
}
}
catch (CInternetException *e)
{
fclose(fp);
::DeleteFile(fileName);
e->Delete();
return - ;
}
fclose(fp);
return lTotal;
}

GbkToUtf8 Utf8ToGbk PackHttp的更多相关文章

  1. J07-Java IO流总结七 《 InputStreamReader和OutputStreamWriter 》

    前面在介绍FileReader和FileWriter的时候有说到,FileReader的读取字符功能,以及FileWriter的写出字符的功能,都不是它们自己实现的,而是,它们分别继承了InputSt ...

  2. 学生信息管理系统(cocos2d引擎)——数据结构课程设计

    老师手把手教了两天半,看了一下模式,加了几个功能就大功告成了!!! 给我的感想就是全都是指针! 添加图片精灵: CCSprite*  spBG = CCSprite::create("&qu ...

  3. gbk与utf-8转换

    linux: #include <iconv.h> int code_convert(char *from_charset,char *to_charset,char *inbuf,int ...

  4. utf8转gbk,libcurl中文乱码处理

    这两个转码在网页客户端处理用很常见,所使用的平台为VS2010,字符集采用多字节字符集 utf8转gbk string UTF8ToGBK(const std::string& strUTF8 ...

  5. tiny中文乱码问题,不过仅适用于windows,所以xml不可以出现中文

    我是在SetAttribute() 函数之前使用的 SetAttribute(const char* name,const char * _value) 首先得到了一个CString 类型的变量 st ...

  6. GBK、UTF8、UNICODE编码转换

    string GBKToUTF8(const std::string& strGBK) { , strGBK.c_str(), -, NULL, ); WCHAR * wszUTF8 = ne ...

  7. UTF8-GBK WideCharToMultiByte MultiByteToWideChar

    //MFC版本 CString UTF8ToGBK(const CString& strUTF8){ //确定转换为Unicode需要多少缓冲区(返回值也包含了最后一个NULL字符) int ...

  8. ZeroBraneStudio之支持GBK文件编码

    费了好大劲终于搞定了让ZBS支持打开GBK文件了.记录下过程: 看源码发现ZBS打开文件时会调用src\editor\commands.lua中的LoadFile函数,代码如下: local file ...

  9. GBK转utf-8,宽字符转窄字符

    //GBK转UTF8 string CAppString::GBKToUTF8(const string & strGBK) { string strOutUTF8 = "" ...

随机推荐

  1. SSO之CAS单点登录实例演示

    本文目录: 一.概述 二.演示环境 三.JDK安装配置 四.安全证书配置 五.部署CAS-Server相关的Tomcat 六.部署CAS-Client相关的Tomcat 七. 测试验证SSO 一.概述 ...

  2. thinkphp 查询当天 ,本周,本月,本季度,本年度,全部, 数据方法

    数据库字段是createtime 里面保存的是时间戳 <?php /* *按今天,本周,本月,本季度,本年,全部查询预约单数据 * $day 代表查询条件 $cid 代表 公司id *返回arr ...

  3. 传感器之超声波测距HC-SR04

    一.前言 HC-SR04超声波测距模块可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm:模块包括超声波发射器.接收器与控制电路.像智能小车的测距以及转向,或是一些项目中,常常会用 ...

  4. windows平台整合Apache与tomcat

    Apache与Tomcat整合的好处 Apache主要用来解析静态文本,如html.Tomcat虽然也有此功能,但Apache效率大大高于Tomcat,尤其是对于并发数较大的企业级应用,能更好的显示A ...

  5. yum安装命令的使用方法

    yum安装常用软件的命令 #yum check-update #yum remove 软件包名 #yum install 软件包名 #yum update 软件包名 yum命令常见使用方法 yum - ...

  6. Maven 配置 Selenium + testNG + reportNG 运行环境

    .markdown-preview:not([data-use-github-style]) { padding: 2em; font-size: 1.2em; color: rgb(56, 58, ...

  7. RequireJS 快速入门

      说明:本文只提供快速入门内容,方便快速进入实战状态.更高级的配置,请参考官网文档. 当初之所以使用 RequireJS 等工具,是因为想提高js的加载速度,避免不必要的堵塞.但通过一段时间的使用, ...

  8. css精灵

    ○ css 精灵(Sprites)技术利用photoshop将图片整合,然后用background-images,background-position,background-repeat技术,对图片 ...

  9. ajax post 请求415\ 400 错误

    今天用ajax 向后台发送 post请求时,出现了两个问题: 1, 发送请求后,控制台 返回  Unsupported media type-415(不支持的媒体类型),这时突然想起来,post 请求 ...

  10. JSPatch学习笔记

    本文参考JSPatch wiki :https://github.com/bang590/JSPatch/wiki 1.概念 JSPatch是一个轻量的JS引擎,能够使用JavaScript语言来调用 ...