You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何查看Unicode字符串的字节表示?

获取Python字符串的字节表示

嘿,这问题其实很容易解决!你需要把字符串编码成字节对象(bytes),因为Python里的str类型存的是Unicode字符序列,直接打印只会显示字符本身,而字节表示取决于你选的编码方式(比如UTF-8、ASCII这些)。

给你几个实用的方法:

1. 用encode()得到字节对象

这是最直接的方式,指定编码后就能得到对应的bytes实例,打印它就能看到字节表示:

var = "\U00000041"  # 注:这个码点对应的是大写'A',小写'a'是U+0061哦
# 用UTF-8编码
utf8_bytes = var.encode('utf-8')
print(utf8_bytes)  # 输出: b'A'

# 用ASCII编码(对于ASCII范围内的字符,和UTF-8结果一致)
ascii_bytes = var.encode('ascii')
print(ascii_bytes)  # 输出: b'A'

2. 查看十六进制字节值

如果想看到更底层的十六进制字节码,可以用hex()方法:

print(utf8_bytes.hex())  # 输出: '41'

3. 其他编码的例子(比如UTF-16)

不同编码的字节表示会不一样,比如UTF-16是双字节编码,还会包含字节序标记:

utf16_bytes = var.encode('utf-16')
print(utf16_bytes)  # 输出: b'\xff\xfeA\x00'

补充:快速查看字节的小技巧

要是在交互式环境里想快速转十六进制,也可以用binascii模块:

import binascii
print(binascii.hexlify(var.encode('utf-8')))  # 输出: b'41'

简单总结一下:Python的字符串是Unicode字符的集合,只有通过编码(encode)转换成bytes对象,才能看到它的字节表示——毕竟字节是依赖于具体编码规则的,不同编码下同一个字符的字节形式可能完全不同哦!

内容的提问来源于stack exchange,提问作者Nord.Kind

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:57:47