如何在python中将数字值表示为字符串?

问题描述:

在Python中,如何将一个整数值(< 256)表示为一个字符串?例如:如何在python中将数字值表示为字符串?

i = 10 

如何创建一个字节长的字符串“s”,该字节的值为10?

澄清,我不想要一个字符串“10”。我想一个字符串,它的第一次(也是唯一)字节具有顺便的10

价值,我不能静态地建立一个字符串:

s = '\x0A' 

,因为该值不是预先定义的。这是一个动态数字值。

+0

'chr(10)' - 这个? – georg 2014-11-24 19:21:02

+0

''\ xA''是一个语法错误,可能你的意思是''\ x0A''。 – 2014-11-24 19:22:42

可以使用chr()功能:

>>> chr(60) 
'<' 
>>> chr(97) 
'a' 
>>> chr(67) 
'C' 

转换回使用ord() funtion为:

>>> ord('C') 
67 
+0

谢谢!这很棒! – user1783732 2014-11-24 19:28:07

在Python 2.x中,你想:

s = chr(10) 

在Python 3.x中,字符串都是Unicode,所以你想:

s = bytes([10]) 
+0

这也适用于Python 3,前提是OP需要一个字符串。 – 2014-11-24 19:21:58

+0

是的,但它是Unicode的,所以可能不是你*真正想要的。 – kindall 2014-11-24 19:22:54

+0

为什么不呢? OP指定如果他们对字符串进行硬编码,他们会使用“\ x0A'',而不是'b'\ x0A''。无论如何,不​​清楚他们使用的是哪个版本。 – 2014-11-24 19:25:04

你为什么不只是使用chr

chr(10) 
Out[41]: '\n' 

chr(255) 
Out[42]: '\xff' 

发现使用结构模块另一个答案为Python 2个工作:

import struct struct.pack( 'B',i)