shell 解码url   url decode

文件名:url_decode.sh
#/bin/sh
awk ‘BEGIN{
for(i=0;i<10;i++)
    hex[i]=i;
    hex["A"]=hex["a"]=10;
    hex["B"]=hex["b"]=11;
    hex["C"]=hex["c"]=12;
    hex["D"]=hex["d"]=13;
    hex["E"]=hex["e"]=14;
    hex["F"]=hex["f"]=15;
}
{
    gsub(/\+/,"");
    i=$0;
    while(match(i,/%../)){
        if(RSTART>1);
            printf"%s",substr(i,1,RSTART-1);
            printf"%c",hex[substr(i,RSTART+1,1)]*16+hex[substr(i,RSTART+2,1)];
            i=substr(i,RSTART+RLENGTH);
        }
        print i;
    }‘

echo $url | ./url_decode.sh

时间: 2024-10-20 12:00:16

shell 解码url   url decode的相关文章

[LeetCode] Encode and Decode TinyURL 编码和解码小URL地址

Note: This is a companion problem to the System Design problem: Design TinyURL. TinyURL is a URL shortening service where you enter a URL such as https://leetcode.com/problems/design-tinyurl and it returns a short URL such as http://tinyurl.com/4e9iA

[LeetCode] 535. Encode and Decode TinyURL 编码和解码短URL

Note: This is a companion problem to the System Design problem: Design TinyURL.TinyURL is a URL shortening service where you enter a URL such as https://leetcode.com/problems/design-tinyurl and it returns a short URL such as http://tinyurl.com/4e9iAk

定义一个方法get_page(url),url参数是需要获取网页内容的网址,返回网页的内容。提示(可以了解python的urllib模块)

1 定义一个方法get_page(url),url参数是需要获取网页内容的网址,返回网页的内容.提示(可以了解python的urllib模块) 2 import urllib.request 3 4 def get_page(url): 5 response = urllib.request.urlopen(url) 6 html = response.read() 7 return html 8 9 print(get_page(url='https://www.baidu,com'))

FFmpeg的HEVC解码器源代码简单分析:CTU解码(CTU Decode)部分-TU

本文分析FFmpeg的libavcodec中的HEVC解码器的CTU解码(CTU Decode)部分的源代码.FFmpeg的HEVC解码器调用hls_decode_entry()函数完成了Slice解码工作.hls_decode_entry()则调用了hls_coding_quadtree()完成了CTU解码工作.由于CTU解码部分的内容比较多,因此将这一部分内容拆分成两篇文章:一篇文章记录PU的解码,另一篇文章记录TU解码.本文记录TU的解码过程. 函数调用关系图 FFmpeg HEVC解码器

FFmpeg的HEVC解码器源代码简单分析:CTU解码(CTU Decode)部分-PU

本文分析FFmpeg的libavcodec中的HEVC解码器的CTU解码(CTU Decode)部分的源代码.FFmpeg的HEVC解码器调用hls_decode_entry()函数完成了Slice解码工作.hls_decode_entry()则调用了hls_coding_quadtree()完成了CTU解码工作.由于CTU解码部分的内容比较多,因此将这一部分内容拆分成两篇文章:一篇文章记录PU的解码,另一篇文章记录TU解码.本文记录PU的解码过程. 函数调用关系图 FFmpeg HEVC解码器

java之URL(URL,URLConnection)实例

import org.junit.Test; public class TestURL { @Test public void readUrl() throws Exception{ URL url = new URL("http://localhost:8088/gress/data/reportData_201401.xml? a=b"); System.out.println(url.getProtocol()); System.out.println(url.getHost()

用jq编码解码一个url地址

介绍一下编码解码函数对 1.    escape /unescape   主要用于汉字编码,返回字符的unicode编码值, 对“+”不能编码 2.     encodeURI / decodeURI  用于对url进行编码,但对特殊字符如+ ? # @ & 等不能编码 3,      encodeURIComponent /decodeURIComponent    用于对url进行编码,可以对特殊字符进行编码 原文地址:https://www.cnblogs.com/techliang666

C++ URL encode/decode (gb2312)

char Dec2HexChar(short int n) { if ( 0 <= n && n <= 9 ) { return char( short('0') + n ); } else if ( 10 <= n && n <= 15 ) { return char( short('A') + n - 10 ); } else { return char(0); } } short int HexChar2Dec(char c) { if ( '

Unicode解码、URL编码/解码

+ (NSString *) stringByReplaceUnicode:(NSString *)string { NSMutableString *convertedString = [string mutableCopy]; [convertedString replaceOccurrencesOfString:@"\\U" withString:@"\\u" options:0 range:NSMakeRange(0, convertedString.len