我需要使用將在BusyBox Ash,Dash,Bash和ZSH中運行的shell函數對URL進行URL編碼。以便攜方式對shell腳本中的字符串進行編碼
它將在不同的Docker容器中運行,因此儘可能少地依賴安裝是件好事。
注:
問題「URL encoding a string in bash script」要求一個特定的Bash腳本,並僅供答案取決於安裝在容器上的PHP。
問題「How to urlencode data for curl command?」特定於捲曲,但肯定對非特定答案開放。但是,25個答案中沒有一個似乎適用。其中一個答案那裏只能將數據發送到捲曲,而一些特定於慶典或KSH,有些則需要的Perl,PHP,的Python,的Lua,的NodeJS ,紅寶石,gridsite-clients,uni2ascii,JQ,AWKö r sed待安裝。其中一個不需要額外的依賴關係,但不保留
a
,1
和~
等字符。
什麼,我期望有:
$> urlencode '/'
%2f
$> urlencode 'ç'
%c3%a7
$> urlencode '*'
%2a
$> urlencode abc-123~6
abc-123~6
$> urlencode 'a test ?*ç '
a%20test%20%3f%2a%c3%a7%20
似乎是重複一下這裏的http:/ /stackoverflow.com/questions/296536/how-to-urlencode-data-for-curl-command – OkieOth