Форум сайта python.su
253
Ок у вас трешка? Может быть, сделайте “wt”. На 2.x этот фокус проходит, хотя это конечно несколько нелогично.
Офлайн
0
doza_andда, третий питон. при изменении на wt запустилось, но эффекта нет(
Ок у вас трешка? Может быть, сделайте “wt”. На 2.x этот фокус проходит, хотя это конечно несколько нелогично.
Офлайн
253
тут логика простая не надо ничего зашифровывать расшифровывать
при считывании из файлов указываете кодировку
x="ывафавфа"
with open("output.txt","rt",encoding="utf-8") as f:
s=f.read(x)
br3dрасшифровать???
просто задача шифровать любой файл
Офлайн
0
doza_andтоесть в таком случая питон не по подходит ? я правильно понял ???
тут логика простая не надо ничего зашифровывать расшифровывать
при считывании из файлов указываете кодировкувнутри программы у вас всегда все в unicode те 2 байта.x="ывафавфа"
with open("output.txt","rt",encoding="utf-8") as f:
s=f.read(x)
А при записи тоже указываете нужную кодировку (чтобы в файле был 1 или 2 байта по вашему желанию)br3dрасшифровать???
просто задача шифровать любой файл
Вот эта задача ПРИНЦИПИАЛЬНО неразрешима. Поскольку по содержимому файла нельзя однозначно сказать в какой он кодировке.
Офлайн
0
если так, то очень грустно.., так как у меня две лабы выполненные на нем, и в обоих уперся в эту проблемму …, придется переписывать на плюсах(((
Офлайн
253
Вы не поняли - это невозможно вообще. Ни в каком языке. В общем случае в файле вообще нет информации о кодировке. Поэтому на плюсах нет никакого смысла переписывать.
Простой пример:
у вас есть 4 байта
Что это float или int или строка или два символа utf? Оно может быть чем угодно - эта информация находится не в этих байтах а в контексте где они используются.
Отредактировано (Дек. 4, 2011 11:08:35)
Офлайн
0
да, действительно странно…, хотя я уверен, что решение есть …, ладно, будем думать …, на плюсах или питоне, но я задачу решу) …,
по сути тут какой алгоритм шифрования не бери(ну кроме тех, что работают с битами) столкнешься с этой проблемой…,
потому как задание именно ШИРОВАТЬ ЛЮБОЙ ФАЙЛ .., будь то бинарник или видео ролик ..,, прчем что бы после расшифрования не утратился функционал …,
Офлайн
0
вообще я еще думал на счет struct pack\unpack но что то так и не придумал как можно это использовать в моем случае(
Офлайн
253
Ааа понял всетаки шифровать.
def encodefile(nm1,nm2):
with open(nm1,"rb") as f:
data=f.read()
dataencoded=enc(data)
with open(nm2,"wb") as f:
f.write(dataencoded)
def decodefile(nm1,nm2):
with open(nm1,"rb") as f:
data=f.read()
datadecoded=dec(data)
with open(nm2,"wb") as f:
f.write(datadecoded)
Офлайн
0
doza_andда я все это делал, проблема в другом, так как алгоритм дешифрует побайтово, мне надо эти байты объединять в какой то контейнет…, что собственно я и не могу понять как сделать, какого типа должен быть этот контейнер что бы сохраненные в нем байты остались байтами????
Ааа понял всетаки шифровать.вам просто надо подходить к данным как к потоку байтовdef encodefile(nm1,nm2):
with open(nm1,"rb") as f:
data=f.read()
dataencoded=enc(data)
with open(nm2,"wb") as f:
f.write(dataencoded)
def decodefile(nm1,nm2):
with open(nm1,"rb") as f:
data=f.read()
datadecoded=dec(data)
with open(nm2,"wb") as f:
f.write(datadecoded)
Офлайн