網頁地址編碼解碼(網頁地址明文密文轉換)url編碼解碼 Python3
一:url編碼解碼簡介
url編碼解碼,又叫百分號編碼,是統一資源定位(URL)編碼方式。URL地址(常說網址)規定了常用地數字,字母可以直接使用,另外一批作為特殊使用者字元也可以直接用(/,:@等),剩下的其它所有字元必須通過%xx編碼處理。 現在已經成為一種規範了,基本所有程式語言都有這種編碼,如js:有encodeURI、encodeURIComponent,PHP有 urlencode、urldecode等。編碼方法很簡單,在該位元組ascii碼的的16進位制字元前面加%. 如 空格字元,ascii碼是32,對應16進位制是'20',那麼urlencode編碼結果是:%20
二:線上轉換工具
網上有很多線上轉換工具,可以搜“urlencode” 、“urldecode”
下面這個不錯(如無法使用可以搜其他的)。
http://web.chacuo.net/charseturlencode
http://www.atool.org/urlencode.php
一般使用utf8編碼,如果不行,也可以試試其他編碼方式
三:演算法
Python程式碼:
#!/usr/bin/python
#-*- coding: utf-8 -*-
import urllib.parse
s="http://yz.chsi.com.cn/zsml/querySchAction.do?ssdm=61&dwmc=%E4%B8%AD%E5%9B%BD%E8%88%AA%E5%A4%A9%E7%A7%91%E6%8A%80%E9%9B%86%E5%9B%A2%E5%85%AC%E5%8F%B8%E7%AC%AC%E4%BA%94%E7%A0%94%E7%A9%B6%E9%99%A2%E8%A5%BF%E5%AE%89%E5%88%86%E9%99%A2&mldm=&mlmc=&yjxkdm=0809&xxfs=&zymc="
data = urllib.parse.unquote(s)
print (data)
結果:
下面這個是用C++實現的比較簡單的計算,通用性不是太強,可以搜尋其他的演算法,也可以直接用Python的類庫。
URLEncode是這樣編碼的
1。數字和字母不變。
2。空格變為"+"號。
3。其他被編碼成"%"加上他們的ascii的十六進位制,規律是這樣的
比如“啊”字 Ascii的十六進位制是B0A1——>%B0%A1(Note:它是每個位元組前加個%)。
*/
#include <iostream>
#include <iostream>
#include <string>
#include <fstream>
#include <ctype.h>
#include <stdlib.h>
using namespace std;
typedef unsigned char BYTE;
inline BYTE toHex(const BYTE &x)
{
return x > 9 ? x + 55 : x + 48;
}
string urlEncoding(string &sIn)
{
cout << "size:" << sIn.size() << endl;
string sOut;
for (int ix = 0; ix < sIn.size(); ix++)
{
BYTE buf[4];
memset(buf, 0, 4);
if (isalnum((BYTE)sIn[ix]))
{
buf[0] = sIn[ix];
}
else if (isspace((BYTE)sIn[ix]))
{
buf[0] = '+';
}
else
{
buf[0] = '%';
buf[1] = toHex((BYTE)sIn[ix] >> 4);
buf[2] = toHex((BYTE)sIn[ix] % 16);
}
sOut += (char *)buf;
}
return sOut;
}
int main(int argc, char *argv[])
{
string src;
cout << "Please input characters." << endl;
cin >> src;
string sOut = urlEncoding(src);
cout << sOut << endl;
system("PAUSE");
return 0;
}
相關文章
- JavaScript對url地址編碼JavaScript
- URL編碼轉換
- Javascript編碼解碼URLJavaScript
- URL編碼與解碼原理
- 一個網站中有big5編碼網頁及utf8編碼網頁之解決方法網站網頁
- python3中編碼如何獲取網頁?Python網頁
- URL與URL編碼詳解
- python3抓取網頁解碼問題!Python網頁
- ptyon 特殊處理 url 編碼與解碼,字元編碼轉化 unicode字元Unicode
- 網頁編碼就是那點事網頁
- HTML實體與網頁編碼HTML網頁
- 網頁密碼儲存網頁密碼
- js裡對URL進行編碼、解碼JS
- 網址URL中特殊字元轉義編碼字元
- 網頁字元編碼、語言程式碼設定與SEO網頁字元
- JS、C#中URL編碼解碼問題JSC#
- 編碼轉換
- URL地址中的中文亂碼怎麼解決?
- 密碼學常用解碼網站密碼學網站
- Python程式設計:URL網址連結中的中文編碼與解碼Python程式設計
- 明文顯示密碼效果詳解密碼
- Goalng 子網掩碼地址Go
- 點選密碼框明文和密文顯示切換密碼
- 子網掩碼與廣播地址 (轉)
- 解決 requests 庫 URL 編碼問題
- 字元編碼轉換字元
- 【基礎進階】URL詳解與URL編碼
- Unicode編碼解碼Unicode
- Solaris網路管理:網路地址和掩碼(轉)
- URL地址中的中文亂碼問題的解決
- 關於URL編碼/javascript/jsurl編碼JavaScriptJS
- 再也不用擔心網頁編碼的坑了!網頁
- 檢視網頁是否壓縮gzip+編碼方式網頁
- 網頁圖片Base64編碼深入研究網頁
- 兩種方法獲取網頁編碼python版網頁Python
- java實現url轉碼、解碼Java
- 檢測檔案編碼,轉換檔案編碼
- 子網掩碼、網路地址、廣播地址的計算