一个支持URL UNICODE编码的易用的类CUrlEncodeUnicode

因为在编写一个应用程序中需要访问网页,URL中带中文,发现在后台保存到数据库中的数据是乱码。原来是API函数InternetCanonicalizeUrl()并不支持中文的编码,花了大量时间亦找不到合用的API函数,回头一想,自己写个函数比上网找更快,就动手写了这个类CUrlEncodeUnicode

 

CUrlEncodeUnicode只包含二个static方法:

    static bool Encode(LPCWSTR inurl, LPTSTR outurl, size_t size);
    static bool Decode(LPCTSTR inurl, LPWSTR outurl, size_t size);
所以使用非常简单。下面是一个示例:

// testUrlEncode.cpp : test CUrlEncodeUnicode

//

 

#include "stdafx.h"

#include "../urlencode/CUrlEncodeUnicode.h"

#include <test.h>

using namespace test;

 

int _tmain(int argc, _TCHAR* argv[])

{

     TCHAR outurl[256];

     wchar_t outurl2[256];

     LPCWSTR url=L"http://localhost/shk11/test.aspx?username=清泉&mac=00:1E:68:7A:00:FF&tel=&email=pclion 2008@163.com";

 

     testBegin(_T("CUrlEncodeUnicode测试"));

     CUrlEncodeUnicode::Encode(url,outurl,256);

     _tprintf(_T("%s/n"), outurl);

     CUrlEncodeUnicode::Decode(outurl, outurl2, 256);

     _tprintf(_T("%s/n"), outurl2);

     testMessage(_T("Decode()"), outurl2, url, true);

     testOK();

     return 0;

}

 

 完整的源程序见http://www.tryahead.com/shk/pclion/urlencode.zip(7KB)

 

 

欢迎使用速记天才2.0:http://www.tryahead.com/shk/


 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值