主要内容转载自:http://blog.163.com/zhangjie_0303/blog/static/9908270620148251658993/

今天在调的时候同事发过来包里包含汉字,我tcpdump出来全显示包体是89%E6%B1%89%E6%B1%89%E6%B1%89的东西,服务器期望的是收到utf8编码,而安卓发过来的是这样的编码,之后问了下朋友知道这个是URL编码格式,了解了如果是utf8字段,会在每个字节前加上%而得到,为了验证,在网上找了个C++版本的URLDecode和URLEncode,对安卓发过来的包体URLDecode后,编码就正确了。
#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;
}*/ 参考:
// http://blog.csdn.net/sandro_zhang/article/details/7616588
// http://www.2cto.com/kf/201301/185444.html
// http://wujianpingnono.blog.163.com/blog/static/82427168201172344336279/

url中文 + MPC 识别的更多相关文章

  1. 基于LeNet网络的中文验证码识别

    基于LeNet网络的中文验证码识别 由于公司需要进行了中文验证码的图片识别开发,最近一段时间刚忙完上线,好不容易闲下来就继上篇<基于Windows10 x64+visual Studio2013 ...

  2. 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇一:WPF常用知识以及本项目设计总结

    篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblog ...

  3. 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇二:基于OneNote难点突破和批量识别

    篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblog ...

  4. 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇三:批量处理后的txt文件入库处理

    篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblog ...

  5. 【基于WPF+OneNote+Oracle的中文图片识别系统阶段总结】之篇四:关于OneNote入库处理以及审核

    篇一:WPF常用知识以及本项目设计总结:http://www.cnblogs.com/baiboy/p/wpf.html 篇二:基于OneNote难点突破和批量识别:http://www.cnblog ...

  6. EasyPR--一个开源的中文车牌识别系统

    我正在做一个开源的中文车牌识别系统,Git地址为:https://github.com/liuruoze/EasyPR. 我给它取的名字为EasyPR,也就是Easy to do Plate Reco ...

  7. URL中文转码问题

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  8. 一种另类的解决URL中文乱码问题--对中文进行加密、解密处理

    情景:在资源调度中,首先用户需要选择工作目标,然后跟据选择的工作目标不同而选择不同的账号和代理ip.处理过程如下:点击选择账号,在js中获取工作目标对工作目标进行两次编码(encodeURI(enco ...

  9. java url中文参数乱码问题

    http://www.blogjava.net/jerry-zhaoj/archive/2009/07/16/286993.html 转 JAVA 中URL链接中文参数乱码的处理方法JAVA 中URL ...

  10. 你知道OneNote的OCR功能吗?office lens为其增大威力,中文也识别

    原文:[原创]你知道OneNote的OCR功能吗?office lens为其增大威力,中文也识别 OneNote提供了强大的从图片中取出文字的功能,大家只要装上了桌面版OneNote(本人用的2013 ...

随机推荐

  1. 快速开始 Mybatis TypeHandler

    theme: orange MyBatis TypeHandler是MyBatis框架中的举足轻重的组件之一,用于处理Java对象和数据库中的数据类型之间的转换. MyBatis TypeHandle ...

  2. 47.3K star!这款开源RAG引擎真香!文档理解+精准检索+可视化干预,一站式搞定!

    嗨,大家好,我是小华同学,关注我们获得"最新.最全.最优质"开源项目和高效工作学习方法 RAGFlow 是基于深度文档理解的开源RAG引擎,通过与LLM结合提供带精准引用的问答能力 ...

  3. 【工具】FreePic2PDF+PdgCntEditor|PDF批量添加书签(Windows)

    这俩软件都不大,比较便携. FreePic2PDF: 我下载的来源:https://www.52pojie.cn/thread-1317140-1-1.html(包含下载链接https://www.l ...

  4. 【记录】LaTeX|Overleaf中ACM的LaTex模板的图片引用出现问号

    问题 单张图片引用,出现如下问题: 出问题的LaTeX部分: As is shown in Figure~\ref{img:result}: \begin{figure}[h] \centering ...

  5. 【经验】Ubuntu 20.04 ROS2 Foxy安装

    参考博客 ROS2安装 有的地方原博主打错了,还没改过来,我按我自己的改好了. 有的地方比如github和raw.githubusercontent.com访问不了,我替换成能用的镜像源了,只求一键复 ...

  6. Java安全01——URLDNS链分析与利用

    URLDNS链分析与利用 作用 URLDNS 利用链只能发起 DNS 请求,不能执行命令,所以用于漏洞的检测 不限制JDK版本,使用Java内置类,无第三方依赖要求 可以进行无回显探测 利用链 ​ 利 ...

  7. MongoDB索引优化的艺术:从基础原理到性能调优

    title: MongoDB索引优化的艺术:从基础原理到性能调优实战 date: 2025/05/21 18:08:22 updated: 2025/05/21 18:08:22 author: cm ...

  8. Python实现ws订阅服务

    一.Python实现ws订阅服务 # 使用websocket订阅欧易公共频道中的 行情频道,以下是已知信息,写出Python代码 # 地址:"wss://wspap.okx.com:8443 ...

  9. Spring注解之获取自定义注解信息

    目录 前言 由反射获取自定义注解 结束语 前言   在了解了自定义注解的入门知识后,以实践的形式,介绍一下通过反射技术获取自定义注解的常用API,例如如何获取自定义注解的成员变量值等等. 由反射获取自 ...

  10. Maui 实践:为控件动态扩展 DragDrop 能力

    作者:夏群林 原创 2025.6.9 拖放的实现,和其他的 GestureRecognizer 不同,需要 DragGestureRecognizer 与 DropGestureRecognizer ...