이상한 대안을 제시하겠습니다. 때로는 다른 인코딩을 사용하는 것이 더 쉽습니다. 특히 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, 웹 브라우저 및 기타 클라이언트간에 URL 인코딩 데이터를 이동하는 데 문제가 있습니다 . Base64는 특수 문자를 사용하지 않기 때문에 매우 중립적입니다.