2010-11-18 33 views
2

J'ai écrit un petit programme qui peut encoder/décoder un texte avec uuencode/uudecode. Le code est basé sur l'algorithme décrit sur Wikipedia. Cela fonctionne bien quand je code/décode une chaîne. Mais j'ai trouvé un fichier uuencoded que je ne peux pas décoder. This site Web peut décoder le fichier, mais quand je l'encoder à nouveau je ne reçois pas le même fichier. De plus, quand je décode seulement une ligne du fichier, je ne reçois pas de texte lisible (ni avec mon programme ni avec le décodeur que j'ai lié auparavant). Mais dans l'encodage, toutes les lignes sont indépendantes les unes des autres - cela doit être possible.Y a-t-il des variantes spéciales de uuencoding/uudecoding?

Est-ce que quelqu'un sait s'il existe des variantes spéciales de l'uuenoding, qui ne sont pas décrites sur Wikipedia? Je peux décoder certaines chaînes de sorte que mon décodeur ne peut pas être totalement faux. Peut-être que quelqu'un a écrit son propre décodeur, donc je poste le fichier entier:

begin 666 Restricted.zip 
M4$L#!!0````(`%T[="_]<LYX`P(``'0#```.````4F5S=')I8W1E9"YT>'1M 
M4\MNVT`0NQOP/[email protected]!/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

J'aime * cette question. Avez-vous écrit votre decode dans des conditions normales C, ou vous utilisez la fonction 'builtin unpack' Perl, qui prend en charge le format Uuencode directement? – tchrist

+0

J'ai écrit tout le programme moi-même et non avec C mais avec Scala. – sschaef

Répondre

0

J'ai trouvé la solution! Le problème était que je n'ai pas remarqué la première ligne. Cette ligne contient des informations sur les données codées - un fichier nommé Restricted.zip. Donc les données décodées sont un fichier ZIP que je viens de décompresser.

J'ai reçu un fichier texte nommé Restricted.txt qui contient les données lisibles.

Le problème était si facile, mais il m'a fallu jours pour voir sa solution.

C'est un bon passage à des algorithmes d'emballage - peut-être la prochaine chose que je fais est en train d'écrire mon propre programme qui peut emballer/décompresser les fichiers zip.

+0

Hey pouvez-vous m'aider pour cette question? http://stackoverflow.com/questions/37606722/bad-format-for-last-line-in-uuencoded-data et http://stackoverflow.com/questions/37571069/some-uuencoded-files-are-not- décodage-correctement-en-c-sharp – Neel