1. 程式人生 > >【Python學習筆記】Coursera課程《Using Databases with Python》 密歇根大學 Charles Severance——Week1 Object Oriented Python課堂筆記

【Python學習筆記】Coursera課程《Using Databases with Python》 密歇根大學 Charles Severance——Week1 Object Oriented Python課堂筆記

multi rac python3 什麽什麽 req cmd ket ascii碼 charles

Coursera課程《Using Databases with Python》 密歇根大學 Charles Severance

Week1 Object Oriented Python

Unicode Characters and Strings

每個字符都被數字0到256之間的數字所表示,以此來存儲在8比特的內存裏。這個碼我們成為ASCII碼。

下表來自ASCII碼對照表

技術分享圖片

技術分享圖片

技術分享圖片

Multi-Byte Characters

為了顯示更廣範圍的字符,電腦不得不處理大於1byte的字符。

  • UTF-16 2bytes
  • UTF-32 4bytes
  • UTF-8 1-4bytes

重點說下UTF-8編碼方式現在非常流行,我們在代碼裏輸入輸出中文、日文等字符都要使用這種編碼方式。所以不管是要跨操作系統還是跨什麽什麽,都強推使用UTF-8的編碼方式。

在Python3,所有的字符串都是Unicode。

Python Strings to Bytes

while True:
    data = mysock.recv(512) #這裏是bytes
    if (len(data) < 1):
        break
    mystring = data.decode() #這裏變成了unicode
    print(mystring)

An HTTP Request in Python

import socket

mysock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
mysock.connect((‘data.pr4e.org‘, 80))
cmd = ‘GET http://data.pr4e.org/romeo.txt HTTP/1.0\n\n‘.encode() # 轉換成bytes
mysock.send(cmd)

while True:
    data = mysock.recv(512) 
    if (len(data) < 1):
        break
    print(data.decode())
mysock.close()

也就是下圖這個原理。
技術分享圖片

【Python學習筆記】Coursera課程《Using Databases with Python》 密歇根大學 Charles Severance——Week1 Object Oriented Python課堂筆記