åºæ¬ç¥è¯
计ç®æºåªè½å¤çæ°åï¼æ以å°ä¸ä¸ªæ°å对åºä¸ä¸ªç¬¦å·,æ以ä¸åçæ°å对åºä¸å符å·çæ¹å¼æä¸å为ä¸åç¼ç æ¹å¼ã
ASCIIç ï¼è±æå符åäºè¿å¶æ°åä¹é´çå ³ç³»ãä¸ä¸ªç¬¦å·ä¸ºä¸ä¸ªåè(byte)ï¼ä¸ä¸ªåèæ¯8ä½ï¼bitï¼,æ以æ»ä½å ±å¯ä»¥ç»å为2ç8次æ¹ä¹å°±æ¯256ç§ç¶æã对äºè±æå符æ¯è¶³å¤è¡¨ç¤ºäºï¼ç¶è对äºæ±ååå ¶ä»å½å®¶256个符å·æ¶ä¸å¤çã
gb2312 : ä¸æå符åäºè¿å¶æ°åä¹é´ç对åºå ³ç³»ãä¸ä¸ªç¬¦å·ä¸ºä¸¤ä¸ªåèï¼å ±16ä½ï¼å¯ä»¥è¡¨ç¤º256*256个æ±åã
Shift_JIS : æ¥æåäºè¿å¶æ°åä¹é´å¯¹åºçå ³ç³»ã
Unicode : ä¸åå½å®¶çç¼ç æ¹å¼ä½¿å¾åä¸ä¸ªäºè¿å¶æ°å对åºä¸åçå符ï¼å¨å¤è¯è¨çææ¬ä¸å¾æå¯è½åºç°ä¹±ç ã为äºä½¿å¾åå½è¯è¨è½å¤é¡ºå©è¿è¡ææ¬è½¬åä¸å¤çï¼æ人åæäºUnicodeç¼ç æ¹å¼ãUnicode被称为ç»ä¸ç ï¼å®ä¸ºæ¯ä¸ªå½å®¶ç符å·é½æä¾äºå¯ä¸çäºè¿å¶æ°åç对åºå ³ç³»ã
UTF-8 : Unicode为äºè¡¨ç¤ºåç§å符ï¼æ以å æå符ç空é´æ¯è¾å¤§ãæ¯å¦è¯´ASCIIç 为ä¸ä¸ªåèï¼èUnicodeé常æ¯ä¸¤ä¸ªåèï¼è¿æ¶å表示ASCIIç æ¶å°±ä¼åºç°ä¸ä¸ªåèç空é´æµªè´¹ç°è±¡,æ设计äºèç空é´çä¸äºä¸é´æ ¼å¼çå符éï¼è¢«ç§°ä¸ºéç¨è½¬æ¢æ ¼å¼UTFï¼Unicode Transformation Formatï¼ï¼UTF-8å°±æ¯è¿ç§èç空é´é¿åº¦å¯åçæ ¼å¼ã
ç¬åç½é¡µéå°çä¸æä¹±ç
å¦ä¸å¾æ示ï¼ç½é¡µçå 容æ¶ä¹±ç çï¼ä¸è½è¯å«
å¯è½åå ï¼
(1).ç½é¡µéç¨GB2312çæ¹å¼ç¼ç
æ¥çç½é¡µæºä»£ç ç头é¨ï¼å¦ææ¯å¦ä¸å¾charset=geb2312çæ¹å¼ç¼ç ï¼å说ææ¯ä¸æä¹±ç çåå ã
解å³åæ³ï¼
è·å¾å 容åï¼å°å 容è¿è¡éæ°ç¼ç ï¼ä½¿ç¨Pythonç¬è«è¿è¡ç¬åæ¶ï¼è§£å³çå ·ä½ä»£ç æ¯ï¼
#å·²ç¥ç½é¡µçurlåheaders,使ç¨requestsè·åç½é¡µ
r = requests.get(url, headers=headers)
#对ç½é¡µè¿è¡gb2312解ç
r.encoding('gb2312')
print(r.text)
ï¼2ï¼ç½é¡µè¿è¡äºgzipå缩
è¿è¡ç½é¡µæ¥ççæ¶åï¼ç½é¡µå¤´é¨æ¯æ£å¸¸çï¼ä¸æ¯å 为gb2312çç¼ç åå ï¼å¦ä¸å¾æ示ï¼è¿æ¯ç½é¡µå¯è½æ¯å 为使ç¨äºgzipæ¹å¼å缩äºã
解å³æ¹æ³ï¼å¯¹ç½é¡µè§£å缩ï¼è§£å缩çæ¹å¼å¦ä¸ï¼
#å·²ç¥ç½é¡µçurlåheaders,使ç¨requestsè·åç½é¡µ
r =requests.get(url, headers=headers)
#è¿è¡è§£ç
content = r.content.decode('UTF-8')
print(content.text)
解å³åçç»æå¦å¾æ示