2014-11-24 81 views
0

在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

回答

1

可以使用chr()功能:

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

轉換回使用ord() funtion爲:

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

謝謝!這很棒! – user1783732 2014-11-24 19:28:07

1

在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

1

你爲什麼不只是使用chr

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

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

發現使用結構模塊另一個答案爲Python 2個工作:

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

相關問題