`
wx1568444409
  • 浏览: 14562 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

C++ GET UTF-8网页编码转换

 
阅读更多
string UTF8ToGBK(const std::string& strUTF8)                                //GBKתUTF-8
{
int len = MultiByteToWideChar(CP_UTF8, 0, strUTF8.c_str(), -1, NULL, 0);
unsigned short * wszGBK = new unsigned short[len + 1];
memset(wszGBK, 0, len * 2 + 2);
MultiByteToWideChar(CP_UTF8, 0, (LPCTSTR)strUTF8.c_str(), -1, (LPWSTR)wszGBK, len);

len = WideCharToMultiByte(CP_ACP, 0, (LPWSTR)wszGBK, -1, NULL, 0, NULL, NULL);
char *szGBK = new char[len + 1];
memset(szGBK, 0, len + 1);
WideCharToMultiByte(CP_ACP,0, (LPWSTR)wszGBK, -1, szGBK, len, NULL, NULL);
//strUTF8 = szGBK;
std::string strTemp(szGBK);
delete[]szGBK;
delete[]wszGBK;
return strTemp;
}

 

转载于:https://my.oschina.net/Thekillersohot/blog/699580

分享到:
评论

相关推荐

    UTF8与ansi string转换处理(DELPHI7开发)

    "UTF8_DLL接口说明.txt"文件提供了DLL中函数的详细说明,包括输入参数、返回值以及如何正确调用这些函数来完成字符串编码转换。通常,这样的接口会包含两个主要函数:一个用于将ANSI String转换为UTF8,另一个则相反...

    utf.h:C用于C和C ++的单头utf8字符串函数

    我们提供了一个名为utf.h的单个头文件,其中包含了C和C++的UTF-8字符串处理函数库。这个库包括ascString、ucsString和utfString类,以及用于各种字符串类型之间转换的utfCount、utf8_ucs2_t和utf8_ucs4_t工具。这些...

    ascii码转utf8

    UTF-8的特性是它兼容ASCII码,对于ASCII中的字符,UTF-8编码也使用单个8位字节,与ASCII码相同。对于其他Unicode字符,UTF-8则使用1到4个字节。 在C++中进行ASCII到UTF-8的转换,你需要理解文件读写操作和字符编码...

    C++工具类-常用工具类源码

    接下来是编码处理,这通常涉及到字符集转换,如UTF-8与GBK之间的转换。`FileUtil`类可能提供类似`std::string convertEncoding(const std::string& src, Encoding from, Encoding to)`的方法,用于在不同编码间进行...

    C++URL编码和解码

    虽然ASCII是URL编码的基础,但在国际化的背景下,URL可能包含非ASCII字符,这时需要使用更复杂的编码方式,如`percent-encoding`的变体`UTF-8 percent-encoding`。在C++中,正确处理这些字符可能需要使用`std::...

    c++版_网页源代码获取

    标题 "c++版_网页源代码获取" 涉及的是使用C++编程语言来抓取和处理网页源代码的相关技术。在这个项目中,开发者可能使用了C++标准库或者第...解决UTF-8编码问题和完善项目中的其他功能,将使这个工具更加实用和健壮。

    解决乱码问题

    ### 解决乱码问题:Java与UTF-8编码详解 #### 一、理解乱码问题 乱码,通常指的是在程序处理过程中,由于字符编码不一致导致的文字显示错误。在Java开发中,尤其是在Web开发环境下,乱码问题尤为常见,主要发生在...

    C++Http上传文件到web服务器,解决中文参数乱码

    1. **编码转换**:将中文字符串转换为UTF-8编码,因为这是互联网上最广泛接受的编码格式。可以使用标准库中的`std::wstring_convert`和`std::codecvt_utf8`进行转换,或者使用第三方库如iconv。 2. **构建HTTP请求*...

    cpp-MongoDBLibbson一个BSON实用函数库

    例如,键必须是UTF-8编码的字符串,且不能以美元符号($)开头,以保留给MongoDB的特殊操作符。 在实际开发中,MongoDB Libbson常用于以下场景: - 应用程序与MongoDB数据库之间的数据交换,如构建和解析查询请求...

    C/C++处理文本中中文内容

    UTF-8编码下,英文和数字使用单字节表示,而中文字符使用3个或4个字节。 处理中文字符时,首先要确保你的源代码文件编码是UTF-8或其他支持中文的编码,并在编译时指定相应的编码选项。例如,GCC编译器可以通过`-...

    expat xml解析(C语言)

    - 使用正则表达式查找并替换`\u`开头的十六进制序列,将其转换为UTF-8编码。 - 对于XML实体,如`&`,Expat库会自动处理,但自定义的实体需要在解析器设置中声明。 4. **Expat错误处理**: - Expat库提供了...

    Json操作及中文乱码解决方案

    1. **请求参数编码**:如果请求参数包含中文,需要确保它们被正确地UTF-8编码。在jQuery中,通常无需手动处理,因为它会自动处理编码。但如果遇到问题,可以尝试使用`encodeURIComponent`函数对中文参数进行编码。 ...

    CatchWeb.rar_CATCHWEB_c++ 获得网页_网页_网页源码

    9. **编码转换**:网络传输的数据通常是UTF-8编码,但有些网页可能是其他编码,需要进行适当的转换。 10. **解析HTML**:如果需要进一步处理HTML源码,可能需要使用解析库,如libxml2或TinyXML,来解析DOM结构。 ...

    统计文本中汉字个数

    对于非UTF-8编码的文件,可能需要使用像iconv这样的库来转换编码。同时,为了提高效率,可以考虑使用缓冲区一次性读取大量数据,而不是一行一行读取。 在项目中,"统计文本汉字次数"这个文件可能是一个完整的C++源...

    linux jsoncpp 安装

    例如,将UTF-8编码的文件转换为GBK编码: ``` iconv -f utf-8 -t gbk input_file.txt -o output_file.txt ``` 反之,将GBK编码转换为UTF-8: ``` iconv -f gbk -t utf-8 input_file.txt -o output_file.txt ``` ###...

    基于libcurl的网页访问VC实现

    为了正确地处理和显示非ASCII字符,我们需要将UTF-8编码转换为ASCII。在C语言中,这通常涉及到字符集转换的复杂操作,比如使用`iconv`库或自行编写转换算法。在这个项目中,开发者已经实现了从UTF-8到ASCII的转换,...

    fastReport 汉字显示不全解决办法

    这样的处理方式,实际上依赖于底层库或框架对WideStrings和UTF-8编码的自动转换支持,减少了手动编码转换的错误风险,同时也提高了效率。 ### 进一步优化建议 1. **确认环境编码**:首先,确保开发环境、数据库...

    收藏 Java c++通过des加密的结果不一样【已解决】

    1. **编码差异**:不同的编程语言可能采用不同的字符编码方式,如Java通常使用UTF-8,而C++则可能使用ASCII或其他编码方式。 2. **库函数差异**:即使是相同的算法,不同的库函数实现也可能存在细微差别,这些差别在...

    Win32下HTTP请求

    在发送请求时,应确保所有中文字符已经按照UTF-8编码,而在接收响应时,需要检查Content-Type头部,根据指定的字符集解码响应主体。在本例中,由于使用了UNICODE编码,即UTF-16LE,因此在与服务器交互时需要进行适当...

    android jni常用函数详解

    **描述**:释放由`GetStringUTFChars`返回的UTF-8编码的字符串资源。 - **参数**: - `env`:指向JNIEnv结构体的指针。 - `str`:指向jstring的指针。 - `chars`:指向UTF-8编码的字符串的指针。 ##### 4.3 `...

Global site tag (gtag.js) - Google Analytics