python3中的编码,python3编码,python2字符串
python3中的编码,python3编码,python2字符串
python2字符串编码存在的问题:
使用 ASCII 码作为默认编码方式,对中文处理不友好把字符串分为 unicode 和 str 两种类型,将unicode作为唯一内码,误导开发者python3中默认编码方式修改为utf-8。
在存储和显示上,python3使用文本字符和二进制数据进行区分,更加明确和清晰。
文本字符使用str类型表示,str 能表示 Unicode 字符集中所有字符,而二进制数据使用bytes类型表示。
str与bytes之间的转换
一种方式
# bytes object b = b"example" # str object s = "example" # str to bytes bytes(s, encoding = "utf8") # bytes to str str(b, encoding = "utf-8")
另一种方式,默认使用utf-8.
# bytes object b = b"example" # str object s = "example" # an alternative method # str to bytes str.encode(s) # bytes to str bytes.decode(b)
常见错误
auth = base64.b64encode("%s:%s" % (user, passwd))
File "/Users/.venv/lib/python3.6/base64.py", line 58, in b64encode
encoded = binascii.b2a_base64(s, newline=False)
TypeError: <work at 0x104cb4518>: a bytes-like object is required, not ‘str‘
make: *** [work] Error 1
出现这种错误是由于str和bytes使用搞混,按照上面介绍的方式进行正确编解码即可。
python3中的编码
相关内容
- python中的is、==和cmp()比较字符串,,python 中的i
- Python调用:‘get_column_letter‘错误,,在学习《Python
- python下 conda命令手册,,说明:conda两个
- python3 报错,,urllib.err
- appnium定位+操作方式(python),,1.定位:A.利用A
- python3学习(3),,练习题:1.?26个
- Python中模块之random的功能介绍,,random的功能介
- python中的__enter__ __exit__,,我们前面文章介绍了迭
- Python 将中文、字母转成数字,,Outline把中文
- python处理时间和日期,,时间和日期(图中错误
评论关闭