首页 技术 正文
技术 2022年11月13日
0 收藏 870 点赞 3,434 浏览 1509 个字

转载——http://blog.163.com/zhangjie_0303/blog/static/9908270620148251658993/ #include <iostream>#include <stdlib.h>#include <string.h> using namespace std; typedef unsigned char BYTE;         inline BYTE toHex(const BYTE &x)      {          return x > 9 ? x -10 + ‘A’: x + ‘0’;      }        inline BYTE fromHex(const BYTE &x)      {          return isdigit(x) ? x-‘0’ : x-‘A’+10;      }         inline string URLEncode(const string &sIn)      {          string sOut;          for( size_t ix = 0; ix < sIn.size(); ix++ )          {                    BYTE buf[4];              memset( buf, 0, 4 );              if( isalnum( (BYTE)sIn[ix] ) )              {                        buf[0] = sIn[ix];              }              //else if ( isspace( (BYTE)sIn[ix] ) ) //貌似把空格编码成%20或者+都可以              //{              //    buf[0] = ‘+’;              //}              else              {                  buf[0] = ‘%’;                  buf[1] = toHex( (BYTE)sIn[ix] >> 4 );                  buf[2] = toHex( (BYTE)sIn[ix] % 16);              }              sOut += (char *)buf;          }          return sOut;      };        inline string URLDecode(const string &sIn)      {          string sOut;          for( size_t ix = 0; ix < sIn.size(); ix++ )          {              BYTE ch = 0;              if(sIn[ix]==’%’)              {                  ch = (fromHex(sIn[ix+1])<<4);                  ch |= fromHex(sIn[ix+2]);                  ix += 2;              }              else if(sIn[ix] == ‘+’)              {                  ch = ‘ ‘;              }              else              {                  ch = sIn[ix];              }              sOut += (char)ch;          }          return sOut;      }   /*int main(int argc, char** argv){        string test_str1 = “老同学”;        //string test_str2 = URLEncode(test_str1);        string test_str2 = “%89%E6%B1%89%E6%B1%89”;        cout << “test_str2=” << test_str2 <<endl;        string test_str3 = URLDecode(test_str2);        cout << “test_str3=” << test_str3 <<endl;        return 0;}*/

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,497
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,910
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,744
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,498
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,135
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,299