В корне NDK есть файл source.properties
для r11 и new. Предыдущие версии имели RELEASE.TXT
.
Пока Вы не пытаетесь поместить любые unicode данные в Ваш StringIO
, и Вы боитесь использовать cStringIO
, необходимо быть в порядке.
Согласно документация StringIO , пока Вы придерживаетесь или unicode или 8 битов, все работает как ожидалось. По-видимому, StringIO
делает что-то специальное, когда кто-то делает f.write(u"asdf")
(который ZipFile не делает к моему знанию). Так или иначе;
import zipfile
import StringIO
s = StringIO.StringIO()
z = zipfile.ZipFile(s, "w")
z.write("test.txt")
z.close()
f = file("x.zip", "w")
f.write(s.getvalue())
s.close()
f.close()
работы, столь же ожидаемые, и нет никакого различия между файлом в получающемся архиве и исходным файлом.
, Если Вы знаете об особом случае, где этот подход не работает, мне больше всего было бы интересно слышать об этом:)
Посмотрите на пакет структуры: https://docs.python.org/library/struct.html , это позволяет Вам интерпретировать строки как упакованные двоичные данные.
Не уверенный, если это полностью ответит на Ваш вопрос, но можно использовать struct.unpack () для преобразования двоичных данных в объекты Python.
import struct
f = open(filename, "rb")
s = f.read(8)
x, y = struct.unpack(">hl", s)
интервал этот пример,">" говорит для чтения обратного порядка байтов, "h" читает короткие 2 байта, и "l" для 4 байта длиной. можно, очевидно, изменить их на то, что необходимо считать из двоичных данных...