2010-11-18 27 views
2

我寫了一個小程序,可以使用uuencode/uudecode對文本進行編碼/解碼。該代碼基於Wikipedia中描述的算法。當我編碼/解碼一個字符串時它工作正常。但是我發現了一個我無法解碼的uuencoded文件。 This網站可以解碼文件,但是當我再次編碼時,我沒有得到相同的文件。另外,當我只解碼文件的一行時,我得不到可讀的文本(既沒有我的程序,也沒有與之前鏈接的解碼器)。但是在所有線路中,所有線路都是相互獨立的 - 這一定是可以的。uuencoding/uudecoding是否有任何特殊變體?

是否有人知道是否有一些特殊的uuenoding變體,這在維基百科上沒有描述?我可以解碼一些字符串,這樣我的解碼器就不會完全錯誤。也許有人寫了他自己的解碼器,所以我張貼整個文件:

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

我*喜歡*這個問題。你用正常的C編寫你的解碼器,還是使用Perl內置的'unpack'函數,它直接支持uuencode格式? – tchrist 2010-11-19 02:42:27

+0

我自己寫了整個程序,而不是用C語言寫的,但用Scala。 – sschaef 2010-11-19 14:36:23

回答

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-解碼正確-在-C-尖銳 – Neel 2016-06-03 05:47:45

相關問題