簡體   English   中英

Web服務器中utf-8和unicode之間的轉換

[英]Conversion between utf-8 and unicode in web servers

我真的想知道如何web服務器URL轉換成UTF-8編碼的字符unicode.How做自己解決問題,如重復的URL編碼和非最短形式UTF-8編碼轉換,從而解釋在這里

例如: http : //www.example.com/dir1/index.html?name=%D8%A7%D9%84%D8%A7%D8%B3%D9%85%D8%A7

http://www.example.com/dir1/index.html?name =الاسما

我編寫了一個執行此轉換的C ++程序,但總的來說,我想知道apache或nginx這樣的Web服務器是如何做到這一點的。

您的意思是做這樣的事情:

發件人- 使用C ++編碼/解碼URL

#include <string>
#include <iostream>

using std::string;
using std::cout;
using std::cin;

string urlDecode(string &SRC) {
    string ret;
    char ch;
    int i, ii;
    for (i=0; i<SRC.length(); i++) {
        if (int(SRC[i])=='%') {
            sscanf(SRC.substr(i+1,2).c_str(), "%x", &ii);
            ch=static_cast<char>(ii);
            ret+=ch;
            i=i+2;
        } else {
            ret+=SRC[i];
        }
    }
    return (ret);
}

int main()
{
    string s = "http://www.example.com/dir1/index.html?name=%D8%A7%D9%84%D8%A7%D8%B3%D9%85%D8%A7";
    cout << urlDecode(s);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM