想象一个场景,你朋友发一个链接让你打开,但链接是下面其中之一,你会不会想锤死他

  1. \u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0062\u0069\u006c\u0069\u0062\u0069\u006c\u0069\u002e\u0063\u006f\u006d (Unicode)

  2. http%3A%2F%2Fbilibili.com (UTF-8)

  3. http\x3A\x2F\x2Fbilibili.com (UTF-16)

  如果遇到上面情况,非程序员可能会一脸懵逼,觉得对方在玩自己,但实际这3个链接是通过不同方式加密后得到的,

  而我们需要对上面链接进行解密后才能拿到可访问的地址

    此时,可使用JS提供的decodeURIComponent函数分别对其进行解密即可,如下

  Unicode加密

  

  UTF-8加密

  

  UTF16

  

  注:经本人测试,该函数暂不支持 Gzip,Base64,md5,Hex等方式加密

  decodeURIComponent() 使用方法

    

  补充1:事物都是具有双面性的,有解码函数,相对的就有编码函数,encodeURIComponent()

     补充2:可能细心的你还会问一个问题,解码和编码函数中的URI是什么?

      URL大家都不陌生,官方称为统一定为资源符,俗称,地址,网址,域名;

      URI官方称为统一资源标识符,可以简单理解为,URLURI的子集,相当于父子关系

      详见:https://www.cnblogs.com/gaojing/archive/2012/02/04/2413626.html

      

decodeURIComponent 解码函数的更多相关文章

  1. 关于JavaScript中的编码和解码函数

    js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 1 ...

  2. js中escape对应的C#解码函数 UrlDecode

    js中escape对应的C#解码函数 System.Web.HttpUtility.UrlDecode(s),使用过程中有以下几点需要注意   js中escape对应的C#解码函数 System.We ...

  3. 浏览器URL中 encodeURIComponent()加密和decodeURIComponent()解码

    encodeURIComponent()加密 定义和用法 encodeURIComponent() 函数可把字符串作为 URI 组件进行编码. 语法 encodeURIComponent(URIstr ...

  4. Qt中gb2312/GBK的URL编解码函数

    编码函数: QByteArray encodeURI(QString str) { QByteArray array; QTextCodec *codec=QTextCodec::codecForNa ...

  5. 46.Linux-分析rc红外遥控平台驱动框架,修改内核的NEC解码函数BUG(1)

    内核版本          :  Linux 3.10.14 rc红外接收类型:  GPIO 类型的NEC红外编码 本章内容 1) rc体系结构分析 2) 分析红外platform_driver平台驱 ...

  6. java中URL 的编码和解码函数

    java中URL 的编码和解码函数java.net.URLEncoder.encode(String s)和java.net.URLDecoder.decode(String s);在javascri ...

  7. js原生的url操作函数,及使用方法。(附:下边还有jquery对url里的中文解码函数)

    js原生的url操作函数,完善的. /*****************************/ /* 动态修改url */ /*****************************/ var ...

  8. Delphi Base64 编解码函数

    Delphi 自带 Base64 编解码的单元, EncdDecd这个单元提供两套四个公开函数: 对流的编解码:procedure EncodeStream(Input, Output: TStrea ...

  9. Delphi 自带的 Base64 编解码函数

    今天帮别人解决一个关于 Base64 编解码的问题,竟然发现 Delphi 自带了 Base64 编解码的单元,叫 EncdDecd,这名字很拗口而且不直观,估计这是一直很少人关注和知道的原因. 这个 ...

随机推荐

  1. 使用zabbix监控linux的io

    zabbix自带的监控linux的模板中并没有监控io这项,而实际生产中又需要监控io,如何监控呢. 错误的示例 这里我特意贴出错误的示例出来,是因为我在网上搜如何使用zabbix监控io的文章时,好 ...

  2. 【深度学习】K-L 散度,JS散度,Wasserstein距离

    度量两个分布之间的差异 (一)K-L 散度 K-L 散度在信息系统中称为相对熵,可以用来量化两种概率分布 P 和 Q 之间的差异,它是非对称性的度量.在概率学和统计学上,我们经常会使用一种更简单的.近 ...

  3. python基础(12):函数(二)

    1. 函数参数 之前我们说过了传参,如果我们需要给⼀个函数传参,⽽参数⼜是不确定的,或者我给⼀个函数传很多参数,我的形参就要写很多,很⿇烦,怎么办呢,我们可以考虑使⽤动态参数. 形参的第三种: 动态参 ...

  4. 抖音美女千千万,想用Python爬爬看

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 星安果.AirPython PS:如有需要Python学习资料的小伙 ...

  5. concurrent.futures模块简单介绍(线程池,进程池)

    一.基类Executor Executor类是ThreadPoolExecutor 和ProcessPoolExecutor 的基类.它为我们提供了如下方法: submit(fn, *args, ** ...

  6. Python笔记:设计模式之观察者模式

    观察者模式中的主题对象一般存在着一个其他服务依赖的核心服务,并且维护着其他依赖此核心服务的对象列表(即观察者或监视者列表),当主题对象发生变化时,观察者应该改变自己的状态或者进行某些操作 观察者模式中 ...

  7. Java性能 -- Lock优化

    Lock / synchronized Lock锁的基本操作是通过乐观锁实现的,由于Lock锁也会在阻塞时被挂起,依然属于悲观锁   synchronized Lock 实现方式 JVM层实现 Jav ...

  8. 装上这 10 个插件,你就是这条 Gai 最靓的仔!

    直奔主题,给大家推荐 10 个好用的插件. 1.「Adblock Plus」 世界排名第一的免费广告拦截程序 ​ 相信大家都有这样的体验,进某个论坛.新闻或者购物网站,广告满天飞,关掉之后还时不时弹出 ...

  9. man -k, man -f : nothing appropriate ; 更新 whatis 数据库

    man 有两个选项: -f, –whatis Equivalent to whatis. Display a ) for details. -k, –apropos Equivalent to apr ...

  10. .net core从版本 3.0 迁移到 3.1引发的BUG

    前几天微软的.net core3.1发布后,随把visual studio 2019升级到16.4.1版本并把项目进行框架升级.升级后的项目在IdentityServer4授权后在360安全浏览器竟然 ...