Python3 进制转换与 Unicode 编码
本教程将带你了解 Python3 中常用的进制转换函数以及 Unicode 编码相关的函数,并通过示例代码帮助你快速掌握它们的使用方法。
进制转换
在计算机科学中,数字可以用不同的进制表示。常见的进制包括二进制 (base-2)、八进制 (base-8)、十进制 (base-10) 和十六进制 (base-16)。Python 提供了内置函数来进行这些进制之间的转换。
bin()
函数:转换为二进制
bin()
函数可以将一个整数 (int) 转换为以 '0b'
为前缀的二进制字符串。二进制是计算机最基础的表示方式,只包含 0 和 1 两个数字。
>>> bin(9)
'0b1001'
在这个例子中,十进制数字 9 被转换成了二进制字符串 '0b1001'
。0b
前缀表明这是一个二进制数。
oct()
函数:转换为八进制
oct()
函数可以将一个整数转换为以 '0o'
为前缀的八进制字符串。八进制使用 0 到 7 这八个数字。
>>> oct(9)
'0o11'
这里,十进制的 9 被转换为了八进制的 '0o11'
。0o
前缀表示这是一个八进制数。
hex()
函数:转换为十六进制
hex()
函数可以将一个整数转换为以 "0x"
为前缀的小写十六进制字符串。十六进制使用 0 到 9 这十个数字,以及 a 到 f 这六个字母(代表 10 到 15)。十六进制在表示内存地址和颜色值时非常常见。
>>> hex(29)
'0x1d'
十进制数字 29 被转换成了十六进制字符串 '0x1d'
。0x
前缀表明这是一个十六进制数。其中,d
代表十进制的 13,因此 0x1d
等于 1 * 16 + 13 = 29
。
Unicode 编码
Unicode 是一种国际标准,它为世界上几乎所有的字符都分配了一个唯一的数字,称为码点 (code point)。Python 使用 Unicode 来表示字符串。
ord()
函数:获取 Unicode 码点
ord()
函数接收一个 Unicode 字符 (str) 作为参数,并返回该字符对应的整数 Unicode 码点。
>>> ord("a")
97
>>> ord("β")
946
>>> ord("中")
20013
ord("a")
返回 97,因为字母 "a" 的 Unicode 码点是 97。ord("β")
返回 946,这是希腊字母 "β" 的 Unicode 码点。ord("中")
返回 20013,这是汉字 "中" 的 Unicode 码点。
chr()
函数:根据 Unicode 码点获取字符
chr()
函数接收一个整数 Unicode 码点作为参数,并返回该码点对应的 Unicode 字符串。它是 ord()
函数的逆操作。
>>> chr(97)
'a'
>>> chr(946)
'β'
>>> chr(20013)
'中'
chr(97)
返回 "a",因为 Unicode 码点 97 对应于字母 "a"。chr(946)
返回 "β",这是 Unicode 码点 946 对应的希腊字母。chr(20013)
返回 "中",这是 Unicode 码点 20013 对应的汉字。
掌握 bin()
, oct()
, hex()
, ord()
, 和 chr()
这些函数,可以帮助你更好地理解和处理不同进制的数字以及 Unicode 字符,这对于编写各种类型的 Python 程序都非常有用。通过这些函数,你可以在数字的不同进制表示形式和字符的 Unicode 码点之间灵活地进行转换。