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

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

DDD
풀어 주다: 2024-12-04 08:48:12
원래의
723명이 탐색했습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿