>백엔드 개발 >C++ >C에서 URL을 강력하게 인코딩하고 디코딩하는 방법은 무엇입니까?

C에서 URL을 강력하게 인코딩하고 디코딩하는 방법은 무엇입니까?

DDD
DDD원래의
2024-12-04 08:48:12751검색

How to Robustly Encode and Decode URLs in C  ?

C에서 URL 인코딩 및 디코딩

질문:

C에서 URL 인코딩 및 디코딩 . 사용할 수 있는 강력한 코드가 있습니까?

답변:

인코딩:

URL 인코딩 문제를 해결하려면 사용자 정의 C 함수는 C 샘플을 기반으로 개발되었습니다. 코드:

#include <cctype>
#include <iomanip>
#include <sstream>
#include <string>

using namespace std;

string url_encode(const string &value) {
    ostringstream escaped;
    escaped.fill('0');
    escaped << hex;

    for (string::const_iterator i = value.begin(), n = value.end(); i != n; ++i) {
        string::value_type c = (*i);

        // Preserve alphanumeric and valid symbols
        if (isalnum(c) || c == '-' || c == '_' || c == '.' || c == '~') {
            escaped << c;
            continue;
        }

        // Percent-encode other characters
        escaped << uppercase;
        escaped << '%' << setw(2) << int((unsigned char) c);
        escaped << nouppercase;
    }

    return escaped.str();
}

디코딩:

디코딩 기능 구현은 선택 사항입니다.

위 내용은 C에서 URL을 강력하게 인코딩하고 디코딩하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.