python3 编码互转

宋家德 3个月前 31浏览 0评论

Python是一种广泛使用的编程语言,其中最常用的版本是Python3。Python3中有许多用于编码转换的内置函数和模块。在本文中,我们将介绍如何在Python3中进行编码转换。

Python3中有三种编码表示:ASCII,Unicode和bytes。ASCII是一种用于表示英文字符的编码方式,但不支持其他语言字符。Unicode是一种用于表示所有语言字符的编码方式。而bytes则是一种用于表示二进制数据的编码方式。

Python3使用以下函数来进行编码转换:

    str.encode():将字符串转换为bytes
    bytes.decode():将bytes转换为字符串

假设我们有一个包含中文字符的字符串:

    s = "你好,世界!"

我们可以使用以下代码将该字符串编码为UTF-8:

    s_bytes = s.encode('utf-8')

现在我们可以将该bytes转换为字符串并输出:

    s_str = s_bytes.decode('utf-8')
    print(s_str)

输出结果如下:

    你好,世界!

另外一个常用的编码是Base64。Base64是一种将二进制数据转换为ASCII字符的编码方式。Python3中的base64模块提供了Base64编码和解码的功能。以下是一个示例代码:

    import base64

    s = "Hello, world!"
    s_bytes = s.encode('utf-8')

    # Base64编码
    encoded_bytes = base64.b64encode(s_bytes)
    print(encoded_bytes)

    # Base64解码
    decoded_bytes = base64.b64decode(encoded_bytes)
    decoded_str = decoded_bytes.decode('utf-8')
    print(decoded_str)

输出结果如下:

    b'SGVsbG8sIHdvcmxkIQ==\n'
    Hello, world!

通过以上示例,我们可以看到Python3的编码转换非常简单。我们只需要使用内置函数和模块即可将不同的编码表示进行转换。