url中的特殊符號

2021-07-26 00:09:30 字數 596 閱讀 4318

最近寫http伺服器,解析請求中的url,發現有一些特殊字元:

「+」 url 中+號表示空格 %2b

「空格」 url中的空格可以用+號或者編碼 %20

「/」 分隔目錄和子目錄 %2f

「?」 分隔實際的 url 和引數 %3f

「%」 指定特殊字元 %25

「#」 表示書籤 %23

「&」 url 中指定的引數間的分隔符 %26

「=」 url 中指定引數的值 %3d

「\」 表示目錄路徑 %5c

「.」 句號 %2e

「:」 冒號 %3a

這裡用%號表示轉義符,後面跟著16進製制數。

在編寫http伺服器的時候,離不開url的解析,當遇到%號的時候將後面的16進製制數轉為10進製(0-255對應ascii碼)後再轉為char型。

#include 

#include

#include

using

namespace

std;

int main()

url中特殊符號的處理

url編碼與解碼 一般來說,url只能使用英文本母 阿拉伯數字和某些標點符號,不能使用其他文字和符號。url的編碼格式採用的是ascii碼,而不是unicode,這也就是說你不能在url中包含任何非ascii字元,例如希臘字母or中文。比如,世界上有英文本母的 但是沒有希臘字母的 讀作阿爾法 貝塔 ...

URL特殊符號處理

有些特殊符號在url中試不能直接傳遞的,如果要在url中傳遞這些符號,就需要使用它們的編碼 否則,將會出現亂碼。十六進製制值 1 url 中 號表示空格 2b 2 空格 url中的空格可以用 號或者編碼 20 3 分隔目錄和子目錄 2f 4 分隔實際的 url 和引數 3f 5 指定特殊字元 25 ...

URL特殊符號的處理

有些符號在url中是不能直接傳遞的,如果要在url中傳遞這些特殊符號,那麼就要使用他們的編碼了。編碼的格式為 加字元的ascii碼,即乙個百分號 後面跟對應字元的ascii 16進製制 碼值。例如 空格的編碼值是 20 如果不使用轉義字元,這些編碼就會當url中定義的特殊字元處理。下表中列出了一些u...