A very simple MFC class to Encode and Decode an url string

转载 2006年06月15日 13:21:00
A very simple MFC class to Encode and Decode an url string

 
Tis is my contribution to encode and decode an url string; My objective was simplifying source code, using CString existing functions...
/*****************************************************************************
Module :     UrlString.h
Notices:     Written 2006 by Stephane Erhardt
Description: H URL Encoder/Decoder
*****************************************************************************/
#ifndef __CURLSTRING_H_
#define __CURLSTRING_H_

class CUrlString
{
private:
	CString m_csUnsafe;

public:
	CUrlString();
	virtual ~CUrlString() { };
	CString Encode(CString csDecoded);
	CString Decode(CString csEncoded);
};

#endif //__CURLSTRING_H_

/*****************************************************************************
Module :     UrlString.cpp
Notices:     Written 2006 by Stephane Erhardt
Description: CPP URL Encoder/Decoder
*****************************************************************************/
#include "stdafx.h"
#include "UrlString.h"

/*****************************************************************************/
CUrlString::CUrlString()
{
	m_csUnsafe = _T("%=/"<>//^[]`+$,@:;/!#?&'");
	for(int iChar = 1; iChar < 33; iChar++)
		m_csUnsafe += (char)iChar;
	for(int iChar = 124; iChar < 256; iChar++)
		m_csUnsafe += (char)iChar;
}

/*****************************************************************************/
CString CUrlString::Encode(CString csDecoded)
{
	CString csCharEncoded, csCharDecoded;
	CString csEncoded = csDecoded;

	for(int iPos = 0; iPos < m_csUnsafe.GetLength(); iPos++)
	{
		csCharEncoded.Format(_T("%%%02X"), m_csUnsafe[iPos]);
		csCharDecoded = m_csUnsafe[iPos];
		csEncoded.Replace(csCharDecoded, csCharEncoded);
	}
	return csEncoded;
}

/*****************************************************************************/
CString CUrlString::Decode(CString csEncoded)
{
	CString csUnsafeEncoded = Encode(m_csUnsafe);
	CString csDecoded = csEncoded;
	CString csCharEncoded, csCharDecoded;

	for(int iPos = 0; iPos < csUnsafeEncoded.GetLength(); iPos += 3)
	{
		csCharEncoded = csUnsafeEncoded.Mid(iPos, 3);
		csCharDecoded = (char)strtol(csUnsafeEncoded.Mid(iPos + 1, 2), NULL, 16);
		csDecoded.Replace(csCharEncoded, csCharDecoded);
	}
	return csDecoded;
}
 

两个用C实现遗传算法的程序 an example of a very simple genetic algorithm in C and a GA implementation using binary and real coded variables

/* ga.c is an example of a very simple genetic algorithm in C */ & /***************************...
  • amu0421
  • amu0421
  • 2011年05月26日 18:23
  • 788

转载:How to create an automation project using MFC and a type library

How to create an automation project using MFC and a type library
  • buyicn
  • buyicn
  • 2011年05月01日 14:52
  • 908

Encode_ Decode Tools URL编码解码工具

  • 2008年11月20日 10:26
  • 231KB
  • 下载

Url Encode Decode

  • 2013年07月07日 21:28
  • 5KB
  • 下载

monitor weblogic server ,Very simple to use, weblogic监控、巡检、故障简单小工具

1. 开发了一个简单的监视weblogic运行情况的小程序,各位朋友下载下来试试,不用登陆console就可以知道server的运行状况,包括了jvm、线程、jdbc、状态jms等;还有一个更简单的选...

labview DTMF encode and decode

  • 2010年09月15日 13:15
  • 346KB
  • 下载

关于URL的encode和decode

URL无法显示某些特殊符号,这个时候就要使用编码了。编码的格式为:一个百分号,后面跟对应字符的ASCII(16进制)码值。例如 空格的编码值是"%20"。(ASCII参考)   ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:A very simple MFC class to Encode and Decode an url string
举报原因:
原因补充:

(最多只允许输入30个字)