Python中如何将整数1转换为ASCII字符1?
问题解决:整数转对应ASCII数字字符
你遇到的问题核心是ASCII编码的对应关系搞混了:
- ASCII里,字符
'1'对应的十进制编码值是49,而不是你传入的1; - 编码1对应的是控制字符SOH(标题开始符),这就是你得到奇怪输出的原因。
两种解决办法
方法1:基于ASCII编码偏移计算
字符'0'的ASCII编码是48,所以所有0-9的整数,加上48后再用chr()转换,就能得到对应的数字字符:
x = 1 y = chr(x + 48) print(y) # 输出 '1'
方法2:直接用字符串转换(更简单)
如果你的需求只是把整数转成对应的数字字符,直接用str()函数更直观,不需要关心ASCII编码:
x = 1 y = str(x) print(y) # 输出 '1'
内容的提问来源于stack exchange,提问作者Sean Mckay
相关产品推荐
相关产品推荐

