使用InternetCanonicalizeUrl函数转换所有不合格的字符。
格式:
BOOL InternetCanonicalizeUrl(
    /*IN*/ LPCTSTR lpszUrl,
    /*OUT*/ LPTSTR lpszBuffer,
    /*IN OUT*/ LPDWORD lpdwBufferLength,
    /*IN*/ DWORD dwFlags
);头文件:wininet.h
库:wininet.lib
更多的信息参见MSDN
例子,转换所有的空格为%20TCHAR pBuffer[1024];
DWORD nBufferLen=1024;InternetCanonicalizeUrl(lpszUrl,
    pBuffer,
    &nBufferLen,
    ICU_ENCODE_SPACES_ONLY);