• 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. ECNUOJ 2150 完美的拯救

    完美的拯救 Time Limit:1000MS Memory Limit:65536KBTotal Submit:147 Accepted:50 Description  一只可怜的蚂蚁被万恶的魔术师 ...

  2. cocos2d-x 2.2.0 怎样在lua中注冊回调函数给C++

    cocos2d-x内部使用tolua进行lua绑定.可是引擎并没有提供一个通用的接口让我们能够把一个lua函数注冊给C++层面的回调事件. 翻看引擎的lua绑定代码,我们能够仿照引擎中的方法来做. 值 ...

  3. python学习之--SyntaxError: Non-ASCII character '\xe5'

    在安装好eclipse之后试了一下 创建了了一个pydev project package.module 在test.py中编写最简单的命令 print "helloworld" ...

  4. poj2002 哈希

    Squares Time Limit: 3500MS   Memory Limit: 65536K Total Submissions: 17666   Accepted: 6735 Descript ...

  5. 在Unix上用 BIND建立名称服务器(naem server)

    在Unix上用 BIND建立名称服务器(naem server) 安装 apt install -y bind9 yum install -y bind bind-utils 下载源码并解压缩,htt ...

  6. mybatis :与Spring MVC 的集成

    用mybatis与Spring mvc 的方式集成起来,源码在本文结尾处下载.主要有以下几个方面的配置1. web.xml 配置 spring dispatchservlet ,比如为:mvc-dis ...

  7. 暑假集训-WHUST 2015 Summer Contest #0.2

    ID Origin Title 10 / 55 Problem A Gym 100625A Administrative Difficulties   4 / 6 Problem B Gym 1006 ...

  8. cf 865 B. Ordering Pizza

    B. Ordering Pizza It's another Start[c]up finals, and that means there is pizza to order for the ons ...

  9. Chromium Graphics : GPU Accelerated Compositing in Chrome

    GPU Accelerated Compositing in Chrome Tom Wiltzius, Vangelis Kokkevis & the Chrome Graphics team ...

  10. Codeforces 472D

    看官方题解提供的是最小生成树,怎么也想不明确.you can guess and prove it! 看了好几个人的代码.感觉实现思路全都不一样,不得不佩服cf题目想法的多样性 以下说说我自己的理解, ...