优草派 > Python

Python3编码类型有哪些?怎么转换?

陈思远         优草派

编码是计算机在处理字符时所采用的规则,不同编码规则对应的字符集也不同。对于Python3编程而言,了解Python3编码类型是十分必要的。本文将从多个角度分析Python3编码类型有哪些以及如何进行编码转换。

一、Python3编码类型有哪些?

Python3编码类型有哪些?怎么转换?

1. ASCII编码:ASCII编码是最早的字符编码,它仅包含英文字母、数字和一些特殊字符,总共只有128个字符。Python3默认使用的就是ASCII编码。ASCII编码表可以在Python3中通过以下代码获得:

```python

import string

print(string.printable)

```

2. Unicode编码:Unicode编码是一种全球通用的字符编码,它包含了世界上所有的字符,可以用于表示各种语言的文字。Python3中使用的字符串默认采用的是Unicode编码。Unicode编码表可以在Python3中通过以下代码获得:

```python

for i in range(0x9FFF):

print(chr(i), end=" ")

```

3. UTF-8编码:UTF-8编码是一种Unicode的实现方式,它采用变长字节表示字符,可以用1-4个字节来表示一个字符。UTF-8编码是互联网上使用最广泛的一种编码方式。Python3中可以使用encode()方法将Unicode编码转换为UTF-8编码,例如:

```python

s = "我爱Python3"

print(s.encode("UTF-8"))

```

4. GBK编码:GBK编码是国家标准编码,它是对中文字符进行编码,兼容ASCII编码,可以表示简体中文和繁体中文。Python3中可以使用encode()方法将Unicode编码转换为GBK编码,例如:

```python

s = "我爱Python3"

print(s.encode("GBK"))

```

二、Python3编码转换方法

1. Unicode转GBK或UTF-8:

将Unicode编码字符串转换为GBK或UTF-8编码字符串,可以使用encode()方法。例如:

```python

s = "我爱Python3"

gbk_s = s.encode("GBK")

utf8_s = s.encode("UTF-8")

print(gbk_s)

print(utf8_s)

```

2. GBK或UTF-8转Unicode:

将GBK或UTF-8编码字符串转换为Unicode编码字符串,可以使用decode()方法。例如:

```python

gbk_s = b'\xce\xd2\xb0\xaePython3'

utf8_s = b'\xe6\x88\x91\xe7\x88\xb1Python3'

unicode_gbk_s = gbk_s.decode("GBK")

unicode_utf8_s = utf8_s.decode("UTF-8")

print(unicode_gbk_s)

print(unicode_utf8_s)

```

3. GBK或UTF-8转UTF-8或GBK:

将GBK或UTF-8编码字符串转换为另一种编码方式的字符串,可以先将其转换为Unicode编码字符串,再使用encode()方法转换为目标编码方式。例如:

```python

gbk_s = b'\xce\xd2\xb0\xaePython3'

utf8_s = b'\xe6\x88\x91\xe7\x88\xb1Python3'

unicode_gbk_s = gbk_s.decode("GBK")

unicode_utf8_s = utf8_s.decode("UTF-8")

utf8_gbk_s = unicode_gbk_s.encode("UTF-8")

gbk_utf8_s = unicode_utf8_s.encode("GBK")

print(utf8_gbk_s)

print(gbk_utf8_s)

```

三、Python3编码应用场景

1. 文件读写:在Python3中,文件默认采用UTF-8编码方式进行读写,如果文件采用其他编码方式,需要指定编码方式。例如:

```python

with open("data.txt", "r", encoding="GBK") as f:

content = f.read()

```

2. 网络通信:在Python3中,网络通信的数据传输默认采用UTF-8编码方式,如果需要采用其他编码方式,需要指定编码方式。例如:

```python

import socket

s = socket.socket()

s.connect(("127.0.0.1", 8888))

s.send("我爱Python3".encode("GBK"))

```

3. 数据库操作:在Python3中,数据库操作的数据编码方式需要与数据库的编码方式一致,否则会出现乱码。例如:

```python

import pymysql

conn = pymysql.connect(host="127.0.0.1", user="root", password="123456", database="test", charset="utf8")

cursor = conn.cursor()

cursor.execute("select * from user")

result = cursor.fetchall()

```

四、

  • 微信好友

  • 朋友圈

  • 新浪微博

  • QQ空间

  • 复制链接

取消
5天短视频训练营
新手入门剪辑课程,零基础也能学
分享变现渠道,助你兼职赚钱
限时特惠:0元
立即抢
新手剪辑课程 (精心挑选,简单易学)
第一课
新手如何学剪辑视频? 开始学习
第二课
短视频剪辑培训班速成是真的吗? 开始学习
第三课
不需要付费的视频剪辑软件有哪些? 开始学习
第四课
手机剪辑app哪个好? 开始学习
第五课
如何做短视频剪辑赚钱? 开始学习
第六课
视频剪辑接单网站APP有哪些? 开始学习
第七课
哪里可以学短视频运营? 开始学习
第八课
做短视频运营需要会什么? 开始学习
【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。

客服热线:0731-85127885

湘ICP备19005950号-1  

工商营业执照信息

违法和不良信息举报

举报电话:0731-85127885 举报邮箱:tousu@csai.cn

优草派  版权所有 © 2024