変わった代替案を提供します。URLエンコードの詳細をすべて同じ方法で処理しないさまざまなシステムを扱っている場合は特に、異なるエンコードを使用する方が簡単な場合があります。これは最も主流のアプローチではありませんが、特定の状況で役立ちます。
データをURLエンコードする代わりに、base64エンコードできます。これの利点は、エンコードされたデータが非常に一般的であり、アルファベット文字のみで構成され、場合によっては末尾=
の文字が含まれることです。例:
JSONの文字列配列:
["option", "Fred's dog", "Bill & Trudy", "param=3"]
data
パラメータとしてURLエンコードされたデータ:
"data=%5B%27option%27%2C+%22Fred%27s+dog%22%2C+%27Bill+%26+Trudy%27%2C+%27param%3D3%27%5D"
同じ、base64エンコード:
"data=WyJvcHRpb24iLCAiRnJlZCdzIGRvZyIsICJCaWxsICYgVHJ1ZHkiLCAicGFyYW09MyJd"
base64のアプローチは少し短くすることができますが、より重要なのはそれがより簡単であることです。通常、引用符や埋め込み%
記号などが原因で、cURL、Webブラウザー、および他のクライアント間でURLエンコードされたデータを移動するときに問題が発生します。特殊文字を使用しないため、Base64は非常に中立です。