Python 中常用的字符串编码格式有哪些?
Python 中常用的字符串编码格式有:
-
ASCII(American Standard Code for Information Interchange): ASCII 只能表示英文字母、数字和一些符号,它使用 7 位二进制数来表示一个字符,即每个字符只能表示 128 种不同的字符,其余的都无法表示。例如,字符“a”在 ASCII 编码中用二进制数 01100001 表示,字符“b”在 ASCII 编码中用二进制数 01100010 表示,以此类推。
-
UTF-8(Unicode Transformation Format-8):UTF-8 是一种可变长度的 Unicode 编码格式,它使用 8 位二进制数来表示一个字符。UTF-8 能够表示 Unicode 字符集中的所有字符,包括中文、日文等非 ASCII 字符。例如,“pidancode.com” 在 UTF-8 编码中用二进制数表示为“11110000 10011111 10011000 10111101 10101100 10010000 11000010 10100100 11000010 10100010 11000010 10100101 11000010 10100000”。
-
GBK(Guo Biao Ku):GBK 是汉字内码扩展规范的中文编码字符集,它支持简体中文、繁体中文和日文汉字等字符。GBK 编码使用两个字节表示一个中文字符,它可以表示 21,000 多个中文汉字和符号。例如,“皮蛋编程”在 GBK 编码中用二进制数表示为“10110001 10100000 10110011 10001010 10100000 10110100 10001010 10110010 10111111”。
在 Python 中,字符串默认使用 UTF-8 编码。如果需要指定字符串的编码格式,可以使用 encode() 方法将字符串编码为指定格式的字节串,或使用 decode() 方法将字节串解码为指定格式的字符串。例如,将“pidancode.com”编码为 GBK 格式的字节串:
python
Copy code
s = "pidancode.com"
gbk_bytes = s.encode('gbk')
print(gbk_bytes) # b'\xc6\xed\xba\xc5\xcf\xf1\xb1\xf0'
更多关于字符串编码格式的详细信息,可以参考官方文档:https://docs.python.org/3/howto/unicode.html。
相关文章