Возможно, есть еще кто-то, кто задавал подобный вопрос, но я не потратил много времени на его поиск, поэтому просто укажите мне, если кто-то уже ответил на это.
Я пытаюсь ответитьцелое число (или длинное) и превращение его в строку очень специфическим способом.
Цель состоит в том, чтобы по существу разбить целое число на 8-битные сегменты, затем взять каждый из этих сегментов и получить соответствующий ASCIIсимвол для этого чанка, затем склейте чанки.
Это легко реализовать, но я не уверен, что сделаю это наиболее эффективным способом.
>>> def stringify(integer):
output = ""
part = integer & 255
while integer != 0:
output += chr(part)
integer = integer >> 8
return output
>>> stringify(10)
'\n'
>>> stringify(10 << 8 | 10)
'\n\n'
>>> stringify(32)
' '
Есть ли более эффективный способ сделать это?Это встроено в Python?
РЕДАКТИРОВАТЬ:
Кроме того, поскольку это будет выполняться последовательно в узком цикле, есть ли способ упростить его для такого использования?
>>> for n in xrange(1000): ## EXAMPLE!
print stringify(n)
...