IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    纯shell urlencode与urldecode

    rock发表于 2014-07-04 17:27:17
    love 0
    来自: https://snipt.net/raw/fa8984e6615a15cb903575c8460edab3/?nice

    #! /bin/sh
    export LANG=C


    urlencode()
    {
    arg="$1"
    i="0"
    while [ "$i" -lt ${#arg} ]; do
    c=${arg:$i:1}
    if echo "$c" | grep -q '[a-zA-Z/:_\.\-]'; then
    echo -n "$c"
    else
    echo -n "%"
    printf "%X" "'$c'"
    fi
    i=$((i+1))
    done
    }

    urldecode()
    {
    arg="$1"
    i="0"

    while [ "$i" -lt ${#arg} ]; do
    c0=${arg:$i:1}
    if [ "x$c0" = "x%" ]; then
    c1=${arg:$((i+1)):1}
    c2=${arg:$((i+2)):1}
    printf "\x$c1$c2"
    i=$((i+3))
    else
    echo -n "$c0"
    i=$((i+1))
    fi
    done
    }

    urldecode "%E9%BB%84%E7%9F%B3%E5%9B%BD%E5%AE%B6%E5%85%AC%E5%9B%AD"


沪ICP备19023445号-2号
友情链接