• CGI编码

      "%D6%DC%C8%F0%B8%A3";
  • 转换到字符串中:
     //CGI编码转到char类型的tmpstr中中
    char* change(char *str)
    {
    //分配内存
    char *tempstr = malloc(strlen(str) + );
    //x是tempstr的下标,y是str的下标,依次赋值
    int x=, y=;
    //分别代表第一个编码,第二个编码
    char assii_1, assii_2;
    //如果传入的str不为空则一直循环
    while (str[y])
    {
    //赋值并进行判断
    if ((tempstr[x]=str[y]) =='%')
    {
    //'%'后第一个进行编码
    if (str[y+]>='A')
    {
    assii_1 = str[y + ] - ;
    }
    else
    {
    assii_1 = str[y + ] - ;
    } //‘%’后第二个进行编码
    if (str[y + ] >= 'A')
    {
    assii_2= str[y + ] - ;
    }
    else
    {
    assii_2 = str[y + ] - ;
    }
    //把解析出来的赋给tempstr
    tempstr[x] = assii_1 * + assii_2; //前进
    y += ; }
    //依次前进
    x++;
    y++;
    }
    //最后一位置零
    tempstr[x] = '\0'; //返回结果
    return tempstr;
    }

完整代码:

 #include<stdio.h>

 //CGI编码转到char类型的tmpstr中中
char* change(char *str)
{
//分配内存
char *tempstr = malloc(strlen(str) + );
//x是tempstr的下标,y是str的下标,依次赋值
int x=, y=;
//分别代表第一个编码,第二个编码
char assii_1, assii_2;
//如果传入的str不为空则一直循环
while (str[y])
{
//赋值并进行判断
if ((tempstr[x]=str[y]) =='%')
{
//'%'后第一个进行编码
if (str[y+]>='A')
{
assii_1 = str[y + ] - ;
}
else
{
assii_1 = str[y + ] - ;
} //‘%’后第二个进行编码
if (str[y + ] >= 'A')
{
assii_2= str[y + ] - ;
}
else
{
assii_2 = str[y + ] - ;
}
//把解析出来的赋给tempstr
tempstr[x] = assii_1 * + assii_2; //前进
y += ; }
//依次前进
x++;
y++;
}
//最后一位置零
tempstr[x] = '\0'; //返回结果
return tempstr;
} void main()
{
char str[] = "%D6%DC%C8%F0%B8%A3";
char *res = change(str);
printf("%d\n", strlen(res));
printf("%s", res); system("pause");
}

76.CGI编码的更多相关文章

  1. 79.cgi硬盘查询个人信息

    运行截图: 把cgi编码转为char*类型 //把cgi编码转为char*类型 char* change(char *str) { //分配内存 ); //x是tempstr的下标,y是str的下标 ...

  2. Java 环境下使用 AES 加密的特殊问题处理

    在 Java 环境下使用 AES 加密,在密钥长度和字节填充方面有一些比较特殊的处理. 1. 密钥长度问题 默认 Java 中仅支持 128 位密钥,当使用 256 位密钥的时候,会报告密钥长度错误 ...

  3. jmeter sampler maven项目排错记

    eclipse 创建的maven项目,引入jar包之后出现红色叹号,一直找不到原因,连main方法都无法运行,提示找不到类: 错误: 找不到或无法加载主类 soapsampler.SoapSample ...

  4. python 杂项

        Python/JS/    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...

  5. 【共享单车】—— React后台管理系统开发手记:项目工程化开发

    前言:以下内容基于React全家桶+AntD实战课程的学习实践过程记录.最终成果github地址:https://github.com/66Web/react-antd-manager,欢迎star. ...

  6. getFieldDecorator用法(三)——Table增删改

    后台管理系统常用到表单的增删改,这里也做了个封装 例如:user/index.js import React from 'react' import { Card, Button, Table, Fo ...

  7. 彻底解决python cgi 编程出现的编码问题

    Answering this for late-comers because I don't think that the posted answers get to the root of the ...

  8. 读取一个文件,将其Base64编码,每76个字符加一个换行(转)

    echo chunk_split(base64_encode(file_get_contents('base64.txt'))); 例子 1 本例分隔每个字符,并添加 ".": & ...

  9. Java面试题及答案(基础122道,编码19道)

    JAVA相关基础知识1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时 ...

随机推荐

  1. Spark技术内幕:Client,Master和Worker 通信源代码解析

    Spark的Cluster Manager能够有几种部署模式: Standlone Mesos YARN EC2 Local 在向集群提交计算任务后,系统的运算模型就是Driver Program定义 ...

  2. ECharts简单入门

    图1和图2是手机上显示的效果, 图3是电脑浏览器显示的效果. 如何使用ECharts? 1.下载echarts.js 2.引入echarts.js <script type="text ...

  3. git帮助命令

    git帮助命令 零.自己实例 cd D://software/code/PHP/phpStudy/PHPTutorial/WWW/github/m_Orchestrate git checkout - ...

  4. 2015北京网络赛 D-The Celebration of Rabbits 动归+FWT

    2015北京网络赛 D-The Celebration of Rabbits 题意: 给定四个正整数n, m, L, R (1≤n,m,L,R≤1000). 设a为一个长度为2n+1的序列. 设f(x ...

  5. mysql-5.6.15 开启二进制文件

    windows下 mysql 开启二进制文件 在mysql5.6.15下存在  my-default.ini配置文件  复制新建重命名my.ini  在其下加入 一定要在 [mysqld] 下面添加, ...

  6. 回顾Abstract和Virtual的用法

    今天坐班车的时候,突然就想起来这俩个货了:仔细缕缕,居然越缕越乱较: 上代码吧: using System; using System.Collections.Generic; using Syste ...

  7. idea+maven+springmvc

    黑了Java这么多年, 今天为Java写一篇文章吧. 这篇文章主要是想帮助那些刚接触到Java, 同时想从事Java WEB GUI开发的人. 对我而言, 我很早就有想尝试用Java写WEB的想法, ...

  8. 利用反射实现Servlet公共类的抽取

    一次请求的执行过程: 请求:发送请求地址-->到达web.xml中,找到地址对应的servlet类-->通过反射调用该类的构造函数,创建该servlet类的对象-->通过当前对象调用 ...

  9. 测试理论--web测试方法总结

    一.输入框 1.字符型输入框: (1)字符型输入框:英文全角.英文半角.数字.空或者空格.特殊字符“~!@#¥%……&*?[]{}”特别要注意单引号和&符号.禁止直接输入特殊字符时,使 ...

  10. 51nod 最长公共子序列+输出路径

    当x = 0 或 y = 0时 f[x][y] = 0 当a[x] = b[y]时  f[x][y] = f[x-1][y-1]+1 当a[x] != b[y]时 f[x][y] = max(f[x] ...