UTF 8,gb2312等百分號編碼進行解碼示例

2021-06-14 16:22:06 字數 684 閱讀 7303

uft-8 及 gb2312對 資料編碼時,保留 字元和數字的anscii 編碼方式,但對漢字及特殊字元程序 百分號編碼。其中utf-8中乙個 漢字 佔3個位元組,gb2312 中佔2個位元組。

例如 "三"    進行utf-8 百分號編碼,生成%e4%b8%89

在解碼時,需加%後的2位16進製制數轉換為整數,放入響應陣列位置即可。

**示例:

#include #include #include int unencode(char *src, char *dest)

else if(*src == '+')

*dest = ' ';

else

*dest = *src;

}*dest = '\0';

return 0;

}char *src = "%e4%b8%89%e5%9b%bd%e6%bc%94%e4%b9%89";

char *dest;

char *res = "三國演義";

int main()

執行結果:

dest:三國演義

res len:12, 三國演義

equal

特殊用法 百分號 井號

為了完整起見,我這裡再用一些例子加以說明 的一些特異功能 假設我們定義了乙個變數為 file dir1 dir2 dir3 my.file.txt 我們可以用 分別替換獲得不同的值 拿掉第一條 及其左邊的字串 dir1 dir2 dir3 my.file.txt 拿掉最後一條 及其左邊的字串 my....

Shell中變數的單百分號 和雙百分號 的作用

使用百分號將變數的內容從變數的後面刪除,並從變數的尾部刪除。不同的是,乙個 號表示從尾部最近的匹配刪除,兩個 從尾部最遠的匹配刪除。同時支援使用萬用字元。比如 先宣告乙個變數 filename aaabbccddaabbccdd使用乙個百分號擷取尾部bb echo 結果 aaabbccddaa可以看...

MySQL求百分比帶百分號

round concat 推薦 concat round a.price b.price b.price 100,2 concat round a.price b.price b.price 100,3 a.price b.price b.price 0.234467 23.45 a.price b...