[英]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.