• 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. android-继承BaseAdapter--自己定义适配器,getView运行多次的解决方法

    定义的getView运行多次的ListView布局: <ListView android:id="@+id/lv_messages" android:layout_width ...

  2. Please ensure that adb is correctly located at &#39;D:\Android\android-sdk\platform-tools\adb.exe&#39; and

    1.启动任务管理器 2.找到百度安全组件杀掉进程. 3.一般都是组件给禁止了.

  3. js实现小时钟,js中Date对象的使用?

    介绍一下js中Date对象的使用 dateObj = new Date() dateObj = new Date(dateValue) dateObj = new Date(year,month,da ...

  4. 技术报告:APT组织Wekby利用DNS请求作为C&C设施,攻击美国秘密机构

    技术报告:APT组织Wekby利用DNS请求作为C&C设施,攻击美国秘密机构 最近几周Paloalto Networks的研究人员注意到,APT组织Wekby对美国的部分秘密机构展开了一次攻击 ...

  5. pig安装配置

    pig的安装配置很简单,只需要配置一下环境变量和指向hadoop conf的环境变量就行了 1.上传 2.解压 3.配置环境变量 Pig工作模式 本地模式:只需要配置PATH环境变量${PIG_HOM ...

  6. 访问API的方式为:localhost/api/customers, 创建自定义JSON格式化器

    注意的是,访问API的方式为:localhost/api/customers,在实际中将要根据情况替换合适的端口,默认所有的WEB API都是通过/api根目录的方式访问的 创建自定义JSON格式化器 ...

  7. ipad无法连接到app store怎么办

    之前入手的air2提示无法连接到app store:你需要首先更新系统到最新的ios版本,去通用设置里面,有个update software, 点击即可,然后才能用apple id 联入,否选择提示连 ...

  8. 实现图片懒加载(lazyload)

    对页面加载速度影响最大的就是图片,一张普通的图片可以达到几M的大小,而代码也许就只有几十KB.当页面图片很多时,页面的加载速度缓慢,几S钟内页面没有加载完成,也许会失去很多的用户. 所以,对于图片过多 ...

  9. CodeBlocks 配色方案

    搜索<colour_sets>,在</ACTIVE_LANG>下加入: 有几种经典方案,包括vim,desert,sublime,ulipad,oblivion,darkgra ...

  10. 如何批量telnet查看否开放指定端口

    由于机房搬迁,需要重新telnet看看网络是否联通 [weblogic@pays03pre_BankVerify /]$ telnet 172.29.1.159 22Trying 172.29.1.1 ...