PyCon 2015 Crawler Tutorial Explain Encoding
-
Upload
adrian-liaw -
Category
Software
-
view
81 -
download
1
Transcript of PyCon 2015 Crawler Tutorial Explain Encoding
Encodingb'\xe6\x96\x87\xe5\xad\x97\xe7\xb7\xa8\xe7\xa2\xbc'
先來回想⼀一下...
先來回想⼀一下...
當學⽣生的時候⼀一定想過要怎麼跟隔壁同學作弊...
Morse Code
A: ・__
B: __・・・
C: __・__・
D: __・・
Morse Code
A: ・__
B: __・・・
C: __・__・
D: __・・
嗶嗶—
嗶—嗶嗶嗶
嗶—嗶嗶—嗶
嗶—嗶嗶
Morse Code
A: ・__
B: __・・・
C: __・__・
D: __・・
左右
右左左左
右左右左
右左左
Encode / Decode
Encode / Decode
Encode / Decode
Encode
左右
Encode / Decode
Encode
左右 左右
Transport
Encode / Decode
Encode
左右 左右
DecodeTransport
Encode / Decode
50 59 43 4F 4EPYCONText Bytes (8 bits)Encode
Writing
ReadingBytes
50 59 43 4F 4E
Decode Text
PYCON
Encode / Decode in the web
Encode / Decode in the web
HTML Documents
Encode
Bytes
Server
Encode / Decode in the web
HTML Documents
Encode
Bytes
Transport
Server Internet
Encode / Decode in the web
HTML Documents
Encode
Bytes
Transport
Server Internet
DecodeClient
Character Encoding
先回到剛剛的例⼦子,⽤用摩斯電碼作弊
Character Encoding
如果我們把Morse Code ABCD 換成 1234 呢
Character Encoding
A: ・— — — —
B: ・・— — —
C: ・・・— —
D: ・・・・—
左右右右右
左左右右右
左左左右右
左左左左右
Character Encoding
我們把第⼀一種叫做Morse ABCD 第⼆二種叫做Morse 1234
Character Encoding
如果踢椅⼦子的⼈人⽤用Morse ABCD encode
被踢椅⼦子的⼈人⽤用Morse 1234 decode
Character Encoding
Character Encoding
Character Encoding
Encode
左右Morse ABCD
Character Encoding
Encode
左右 左右
Transport
Morse ABCD
Character Encoding
Encode
左右 左右
DecodeTransport
Morse ABCD Morse 1234
Character Encoding
Character Encoding
HTML Documents
Encode
Bytes
Server
Big5
Character Encoding
HTML Documents
Encode
Bytes
Transport
Server Internet
Big5
Character Encoding
HTML Documents
Encode
Bytes
Transport
Server Internet
DecodeClient
Big5
UTF-8
Character Encoding
UTF-8: ⽬目前最廣泛的編碼系統 實作Unicode的⽅方法之⼀一 (Unicode 又稱萬國碼)
ASCII: 早期最廣泛的編碼系統 ⽬目前多被Unicode取代
Big5: ASCII不⽀支援中⽂文 所以早期台灣中⽂文網站會⽤用Big5
Character Encoding
⽤用哪種⽅方法encode就要⽤用哪種⽅方法decode!
Character Encoding
這樣才能成功作弊!
Character Encoding
在Chrome裡可以⽤用 檢視 > 字元編碼 來重設網⾴頁的編碼⽅方式
Character Encoding
http://www.angelfire.com/ok/leekawo/hacker.htm
讓這個網⾴頁變成可看的中⽂文!
Encoding in Python
在Python中練習 encode / decode 技巧
Encoding in Python
Python 的 string 以 Unicode 為標準
bytes 即為 string encode 的結果!