2010-11-18 4 views
2

Я написал небольшую программу, которая может кодировать/декодировать текст с uuencode/uudecode. Код основан на алгоритме, описанном на Wikipedia. Он отлично работает, когда я кодирую/декодирую строку. Но я нашел файл uuencoded, который я не могу декодировать. This сайт может декодировать файл, но когда я его снова закодирую, я не получаю тот же файл. Кроме того, когда я декодирую только одну строку файла, я не получаю читаемый текст (ни с моей программой, ни с декодером, с которым я связался раньше). Но в uuenoding все линии независимы друг от друга - это должно быть возможно.Существуют ли какие-либо специальные варианты uuencoding/uudecoding?

Кто-нибудь знает, есть ли какие-то особые варианты uuenoding, которые не описаны в Википедии? Я могу декодировать некоторые строки, поэтому мой декодер не может быть абсолютно неправильным. Возможно, кто-то написал свой собственный декодер, поэтому я публикую весь файл:

begin 666 Restricted.zip 
M4$L#!!0````(`%T[="_]<LYX`P(``'0#```.````4F5S=')I8W1E9"YT>'1M 
M4\MNVT`0NQOP/[email protected]PT0!/X4N16`RE0%.GC.I9&TE;2CKH/J_K[<E;IX]"+ 
M'UJ20W)6^]U3)SX=]KO][D*]SD(7XHD2CX/S'26EU`L%U_6)[email protected]?46NQ4,7 
MR?E6P\3)J:=%@ABZY7'$P2MO"0J1GGT3Z;B1YJ#?I4ZT:!X;[email protected])%3Y%6 
MS8#>A#I-&[;E`-H%'([email protected][/(-I',=GI;XN"H49?''YXT#LE]BNU.<!&,*(W 
M0&4Y7V#,F_&11NV<-TNU-!D!>HZP5"MF91^YE0-D&H2C5CAL\T&P:#/'A*<+ 
M#F6([email protected][XLBHJ>L[UX,;U8+`"X3I)0S^RJX=Q+3-28)@@+IK: 
[email protected])ICG%BK[:(,\=L$C>20*EUCR/8BP'&'H+.OT5:+`V>,*NK$%9 
MZ<;>Q1X"1WJOBZ#_8HQ+`3?K%(U<1U-:7.HI6A]_+/V[\RU,J][email protected]<37 
M89W+>5QCL6/"MDHTQPV&UT5-<R!=?%D)MG^AR&Y3^>]::JP0H2MZ4>3UR?F, 
M[>18,L'"..I2K'.,BP8TF<K)YT_/IG1S#<@VZ^,KX$QO'[\\WC_<W;V[?_-P 
MW>^`/%.?TGP^G99EJ29MCC^K6JL\G%H78CJQC[CGU=S/V_M2KEN<A0?;A5U` 
M[AC.U2*6OUOE0<KD#Q#\MM_]`E!+`0(4`!0````(`%T[="_]<LYX`P(``'0# 
M```.``````````$`(`"[email protected]````!297-T<FEC=&5D+G1X=%!+!08``````0`! 
+`#P````O`@`````` 
` 
end 
+0

I * подобный * этот вопрос. Вы писали декодирование в обычном C или используете встроенную функцию 'unpack' Perl, которая напрямую поддерживает формат uuencode? – tchrist

+0

Я написал всю программу самостоятельно, а не с C, но с Scala. – sschaef

ответ

0

Я нашел решение! Проблема в том, что я не заметил первую строчку. В этой строке содержится информация о закодированных данных - файл с именем Restricted.zip. Таким образом, декодированные данные - это ZIP-файл, который мне просто пришлось распаковать.

У меня есть текстовый файл с именем Restricted.txt, который содержит читаемые данные.

Проблема была такой простой, но мне потребовались дни, чтобы увидеть ее решение.

Это хорошее изменение в алгоритмах упаковки - возможно, следующее, что я делаю, это написать свою собственную программу, которая может упаковывать/распаковывать zip-файлы.

+0

Эй вы можете мне помочь в этом вопросе? http://stackoverflow.com/questions/37606722/bad-format-for-last-line-in-uuencoded-data и http://stackoverflow.com/questions/37571069/some-uuencoded-files-are-not- декодирование должным образом-в-с-острый – Neel

Смежные вопросы