Форум сайта python.su
857
odnochlenтам нигде не сказано, что это набор интов
Ну это, извини меня, быдлокод нижайшего пошиба.
Варианты с unpack и array самые цивильные
Офлайн
14
Array: The actual representation of values is determined by the machine architecture (strictly speaking, by the C implementation).
Офлайн
14
Андрей Светлов, то есть для (де)сериализации array не предназначен в принципе?
py.user.nextМожно предположить, что это так. А вообще да, нужно описание формата.
там нигде не сказано, что это набор интов
Отредактировано odnochlen (Авг. 23, 2012 16:44:05)
Офлайн
14
Данные не должны пересекать пределы машины. Ну или кластера (обычно он архитектурно однородный).
Офлайн
14
Вообще, по моему мнению, от авторов array не отпало бы, если бы они добавили в конструктор или fromstring возможность указать порядок байтов. Или хотя бы возможность самому узнать порядок байтов в реализации array, чтобы, если нужно, сделать byteswap.
Офлайн
14
Офлайн
14
Сразу отвечу на вопрос, почему бы это не сделать с помощью struct: скорость может отличаться на порядок и больше.
Офлайн
14
Андрей Светлов
http://bugs.python.org/issue210829
s = '\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00' arr = array('L',s) if sys.byteorder!='little': # порядок байтов не совпадает с порядком в массиве arr.byteswap() print arr
Отредактировано odnochlen (Авг. 26, 2012 00:02:49)
Офлайн
14
Сделайте патч, кто мешает?
Офлайн
14
Андрей СветловНаф надо. Вы, когда вам что-то не нравится, например, в отечественном авто, делаете патч и отправляеет производителю, который на него болт кладет?
Сделайте патч, кто мешает?
Офлайн