python3的字符串编码问题
来源:互联网 发布:和平电视直播软件 编辑:程序博客网 时间:2024/06/05 16:47
python3的字符串编码问题
在Python3中,有两种默认的字符编码类型,bytes和str。str表示字符Unicode字符,在Python命令行中,Unicode字符会默认的转换成可显示的字符串格式,而不会显示其本身的二进制码。我们直接用单引号或者双引号定义的字符串就是str类型
我们可以通过ord函数获取其对应的十进制数字,并通过char方法获取对应的Unicode字符。如果我们知道其十六进制代码,我们还可以直接通过十六进制代码定义字符串其格式为\uxxxx:
c='好'd = ord(c)chr(d)print(d)hex(d)
bytes表示字符在某种编码下的二进制码,如果知道某个字符串在某个字符编码下的二进制码,我们可以直接使用b’\uxxxx’的形式来定义bytes二进制码,与str类型的字符串相比,前面多了一个字母b,表示其类型为bytes。
str类型的字符串可以通过encode方法转换为bytes二进制码,同样bytes二进制码可以通过decode方法转换为str类型的字符串:
c='hello'd = c.encode('unicode escape')d.decode('unicode escape')print(d)
读取文件和网络资源的时候,是bytes对象,需要先解码,就是执行decode,如果我们不确定当前文件的字符编码,我们可以使用chardet.detect获取对应的字符编码:
import chardeta = b'hello,world'print(a)charset = chardet.detect(a)print(charset)b = a.decode(charset['encoding'])print(b)
文件写入时的字符编码:在文件写入时,我们只能写入bytes对象,因此,我们需要将str对象以utf-8编码编码成bytes对象,再进行存储。
阅读全文
0 0
- python3的字符串编码问题
- python3 中字符串编码问题
- Python3的编码问题
- python3的编码问题
- python3 的编码问题
- Python3的编码问题
- Python3碰到的编码问题
- python3爬虫的编码问题
- 关于python3的编码问题
- python2与python3的字符串编码对比
- python3字符串编码
- Python3中关于中文编码的问题
- 解决python3编码问题的方法
- python3在windows下的编码问题
- Python2与Python3的编码问题
- 关于python3,numpy-loadtxt的编码问题
- 关于python3的一些编码问题
- 字符串编码的问题
- Could not calculate build plan: Plugin org.apache.maven.plugins:maven-war-plugin:2.4
- 5 款最酷的 Linux 终端模拟器!
- 「BZOJ4332」「JSOI2012」分零食
- 字符型图片验证码识别完整过程及Python实现
- TCP/UDP通信编程在Qt中的实现方法
- python3的字符串编码问题
- spring-boot-starter-actuator报错
- jzoj3501 【NOIP2013模拟联考15】消息传递(news) 树形dp
- 由 官场微小说:两个县长的命运 所想
- CentOS6.4 Ftp服务器远程主机关闭连接问题
- TensorFlow笔记:数据导出
- 正则表达式知识
- QTCpSocket文件传输
- iscsi磁盘共享