python编码

一、id

比较的数值,输出结果为True 或者 False

is比较的是内存地址

id 查看内存地址

内存地址相当与门牌号a = 1000

b = 1000

print(a == b)

# == 比较的是数值

#is 比较的是内存地址。

# print(a is b)

#查看内存地址id()

# print(id(a))

# print(id(b))

二、小数据池

#数字: -5 ~ 256 节省空间。

#字符串: 1,如果含有特殊字符,不存在小数据池。

# 2,str(单个) * int int > 20 不存在小数据池。

#其他都不存在小数据池。

三、编码

存储和传输是0101,但是不可以使用Unicode编码进行传输

python3中的编码:python3中str在内存中的编码方式是Unicode。python3中的str不能直接存储和发送。

bytes的编码方式是非Unicode(UTF-8,GBK,GB2312....)

对于英文:str表现形式: s = 'kuoiea' 
内部编码为:Unicode
byte表现形式s = b'kuoiea'
内部编码形式为非unicode

对于中文:str表现形式: s = '中国' 
内部编码为:Unicode
byte表现形式s = b'xe4xb8xadxe5x9bxbd'
内部编码形式为非unicode


encode编码:将str类型转换成byte类型
decode解码:将byte类型转换成str类型

# s = 'fdsagsadfsad方式打开家乐福;按时fdsafdsa'
#ip地址 端口等等
# s1 = input('你好')
# s1
# s = 'laonanhai'
# s1 = b'laonanhai'
# print(type(s))
# print(type(s1))


# s = 'alex'  # str
# s1 = s.encode('utf-8')  # bytes
# encode 编码 :str --- > bytes
# s = 'hello girl'
# s1 = s.encode('utf-8')
# print(s1)

# s = 'hello girl'
# s1 = s.encode('gbk')
# print(s1)
# s = '中国'
# s1 = s.encode('utf-8')
# print(s1)

# s = '中国'
# s1 = s.encode('gbk')
# print(s1)
原文地址:https://www.cnblogs.com/qiujie/p/8633626.html