【Python学习笔记】Coursera课程《Using Databases with Python》 密歇根大学 Charles Severance——Week1 Object Oriented Python课堂笔记

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()

也就是下图这个原理。

猜你喜欢

转载自www.cnblogs.com/IvyWong/p/9634176.html