Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 4, 2011 15:26:59

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

из байт кода обратно в русский

например bytearray используйте, надо чтобы просто элементы можно было изменить



Офлайн

#2 Дек. 5, 2011 00:49:39

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

из байт кода обратно в русский

doza_and
with open("output.txt","wb",encoding="utf-8") as f:
в третьем питоне в бинарном режиме кодировка не принимается

br3d
если у меня функция выплевывает числа (от 0 до 255) как их преобразовать в строку вида \xd0\xb0\xd0\xb1\xd0\xb2 ?
>>> bytes(range(10))
b'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t'
>>> def f():
... return (i for i in range(10))
...
>>> f()
<generator object <genexpr> at 0xb7524f54>
>>> bytes(f())
b'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t'
>>> bytes(f()) + bytes(f())
b'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\x00\x01\x02\x03\x04\x05\x06\x07\x08\t'
>>>
doza_and
Ок у вас трешка? Может быть, сделайте “wt”.
ему нужен wb, так как шифрование предполагает, что он шифрует данные и записывает получившуюся байтовую последовательность в файл, и она должна быть неизменной, тогда как текстовый режим допускает изменения текста
этот файл потом используется для обратного восстановления (чтения и расшифровки) зашифрованных данных

br3d, лучше ясно опиши, что ты делаешь
а то непонятно, толи ты просто с кодировками возишься, толи шифруешь с использованием алгоритма шифрования
от этого зависит, нужен тебе байтмассивный объект или обычный байтовый объект подойдёт
bytes() создаёт константный объект (после создания нельзя поменять содержимое)
bytearray() создаёт меняемый объект (после создания можно поменять содержимое)



Офлайн

#3 Дек. 5, 2011 07:51:14

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

из байт кода обратно в русский

doza_and
кодировка не принимается
я написал:
doza_and
для трешки могу ошибаться.



Офлайн

#4 Дек. 8, 2011 08:19:41

br3d
От:
Зарегистрирован: 2011-05-02
Сообщения: 27
Репутация: +  0  -
Профиль   Отправить e-mail  

из байт кода обратно в русский

Извиняюсь, что долго не отвечал не было возможности…


py.user.next
br3d, лучше ясно опиши, что ты делаешь
а то непонятно, толи ты просто с кодировками возишься, толи шифруешь с использованием алгоритма шифрования
от этого зависит, нужен тебе байтмассивный объект или обычный байтовый объект подойдёт
да именно с алгоритмом шифрования вожусь…,в начале темы писал, и код выложил …, там собственно не хватает нормальной записи в файл…



Офлайн

#5 Дек. 9, 2011 02:20:35

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

из байт кода обратно в русский

может тебе просто в исходнике заменить значки &#916;x на dx ?
у тебя print'ы для третьего питона, но на значок дельты реагирует второй питон
у второго питона по умолчанию кодировка исходника принимается ascii
у третьего питона по умолчанию кодировка исходника принимается utf-8

если у тебя исходник в cp1251, то он не сможет эти значки хранить
поэтому либо нужно исходник сделать в виде utf-8 и если у тебя второй питон, сверху написать # coding: utf-8
либо тебе нужно просто значок дельты заменить на подходящий для cp1251 и сверху написать # coding: cp1251



Отредактировано (Дек. 9, 2011 02:25:25)

Офлайн

#6 Сен. 18, 2014 03:03:42

MadDevil
Зарегистрирован: 2014-09-18
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

из байт кода обратно в русский

br3d
если у меня функция выплевывает числа (от 0 до 255) как их преобразовать
i это число от 0 до 255
в bytedata будет байт, который запиши в файл
bytedata=bytes()

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version