想象一个场景,你朋友发一个链接让你打开,但链接是下面其中之一,你会不会想锤死他
1. u0068u0074u0074u0070u003au002fu002fu0062u0069u006cu0069u0062u0069u006cu0069u002eu0063u006fu006d (Unicode)
2. http%3A%2F%2Fbilibili.com (UTF-8)
3. httpx3Ax2Fx2Fbilibili.com (UTF-16)
如果遇到上面情况,非程序员可能会一脸懵逼,觉得对方在玩自己,但实际这3个链接是通过不同方式加密后得到的,
而我们需要对上面链接进行解密后才能拿到可访问的地址
此时,可使用JS提供的decodeURIComponent函数分别对其进行解码即可,如下
Unicode解码
UTF-8解码
UTF16解码
注:经本人测试,该函数暂不支持 Gzip,Base64,md5,Hex等方式解码
补充1:事物都是具有双面性的,有解码函数,相对的就有编码函数,encodeURIComponent()
补充2:可能细心的你还会问一个问题,解码和编码函数中的URI是什么?
URL大家都不陌生,官方称为统一定为资源符,俗称,地址,网址,域名;
URI官方称为统一资源标识符,可以简单理解为,URL是URI的子集,相当于父子关系
详见:https://www.cnblogs.com/gaojing/archive/2012/02/04/2413626.html