コマンドラインでURLをエンコード・デコードする方法
Nid: 668
URLエンコード
- perl
$ echo 'http://tech.octaviadata.com/tags/コマンドライン' | perl -MURI::Escape -ne 'chomp;print uri_escape($_),"\n"' http%3A%2F%2Ftech.octaviadata.com%2Ftags%2F%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3
- curl
$ curl -s -w '%{url_effective}\n' --data-urlencode 'http://tech.octaviadata.com/tags/コマンドライン' -G '' | sed -e 's/^\/?//' http%3A%2F%2Ftech.octaviadata.com%2Ftags%2F%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3
- nkf
$ echo 'http://tech.octaviadata.com/tags/コマンドライン' | nkf -WMQ | sed 's/=$//g' | tr -d '\n' | tr = % http%3A%2F%2Ftech%2Eoctaviadata%2Ecom%2Ftags%2F%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3
URLデコード
- nkf
$ echo http%3A%2F%2Ftech.octaviadata.com%2Ftags%2F%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3 | nkf --url-input http://tech.octaviadata.com/tags/コマンドライン
- sed
$ echo http%3A%2F%2Ftech.octaviadata.com%2Ftags%2F%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3 | sed -e's/%\([0-9A-F][0-9A-F]\)/\\\\\x\1/g' | xargs echo -e http://tech.octaviadata.com/tags/コマンドライン
- perl
$ echo http%3A%2F%2Ftech.octaviadata.com%2Ftags%2F%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3 | perl -pe 's/%([0-9a-f]{2})/sprintf("%s", pack("H2",$1))/eig' http://tech.octaviadata.com/tags/コマンドライン