博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编码解码UTF-8,gb2312等百分号编码进行解码示例
阅读量:5739 次
发布时间:2019-06-18

本文共 1280 字,大约阅读时间需要 4 分钟。

首先声明,我是一个菜鸟。一下文章中出现技术误导情况盖不负责

    uft-8 及 gb2312对 数据编码时,保留 字符和数字的anscii 编码方法,但对汉字及特殊字符进程 百分号编码。其中utf-8中一个 汉字 占3个字节,gb2312 中占2个字节。

    例如 "三"    停止utf-8 百分号编码,生成%E4%B8%89

    在解码时,需加%后的2位16进制数转换为整数,放入响应数组位置即可。

    

    代码示例:

    每日一道理
风,渐渐吹起,吹乱了我的发丝,也让我的长裙有些飘动。绿叶仿佛在风中起舞,离开了树,投向了大地,却不知这样会枯萎,我弯下腰,轻轻拾起一片树叶,那非常有序的茎脉,是一种美的点缀。我有些哀叹:绿叶啊,绿叶,你这般美丽地从树上轻轻飘下,随风起舞,却不知已被人称之为落叶!
int unencode(char *src, char *dest){    int code;    for(; *src != 0; src++, dest++)    {        if(*src == '%')        {            if(sscanf(src+1, "%2x", &code) != 1)                return 1;            *dest = code;            src += 2;        }    }    return 0;}char *src = "%E4%B8%89%E5%9B%BD%E6%BC%94%E4%B9%89";char *dest;char *res = "三国演义";int main(){    dest = (char *)malloc(strlen(src)*sizeof(char));    unencode(src, dest);    printf("dest:%s\n", dest);    printf("res len:%d, %s\n", strlen(res), res);    if(0 == strcmp(dest, res))        printf("equal\n");    else        printf("not equal\n");    return 0;}

    运行结果:

    dest:三国演义

res len:12, 三国演义
equal

文章结束给大家分享下程序员的一些笑话语录: 自行车

一个程序员骑着一个很漂亮的自行车到了公司,另一个程序员看到了他,问 到,“你是从哪搞到的这么漂亮的车的?”
骑车的那个程序员说, “我刚从那边过来, 有一个漂亮的姑娘骑着这个车过来, 并停在我跟前,把衣服全脱了,然后对我说,‘你想要什么都可以’”。
另一个程序员马上说到, “你绝对做了一个正确的选择, 因为那姑娘的衣服你 并不一定穿得了”。

--------------------------------- 原创文章 By

编码和解码
---------------------------------

转载地址:http://uvyzx.baihongyu.com/

你可能感兴趣的文章
实现Hyper-V 虚拟机在不同架构的处理器间迁移
查看>>
linux根目录下的文件解析
查看>>
简单使用saltstack
查看>>
针对web服务器容灾自动切换方案
查看>>
LTE学习笔记(一)——背景知识
查看>>
突破媒体转码效率壁垒 阿里云首推倍速转码
查看>>
容器存储中那些潜在的挑战和机遇
查看>>
程序员该懂一点儿KPI
查看>>
<转载>在数据科学环境中使用 Docker 容器
查看>>
R语言的三种聚类方法
查看>>
55%受访企业将物联网战略视为有效竞争手段
查看>>
深入理解Python中的ThreadLocal变量(上)
查看>>
如果一切即服务,为什么需要数据中心?
查看>>
RSA总裁预测2016年网络安全趋势
查看>>
Spark架构在大数据环境的核心位置找到用武之地
查看>>
《游戏开发物理学(第2版)》一导读
查看>>
Erlang简史(翻译)
查看>>
《代码整洁之道》—第13章13.6节警惕同步方法之间的依赖
查看>>
深入实践Spring Boot2.4.2 节点和关系实体建模
查看>>
信息可视化的经典案例:伦敦地铁线路图
查看>>