4/11/2011

讀檔 解碼 翻譯 另存新檔

題目:
Hiev$Hypgmi0
M$eq$jmjxiir$erh$M$lezi$xs$wlevi$e$vssq${mxl$q}$rmri1}iev1sph$wmwxiv2
Wli$mw$ziv}$yrxmh}$erh$M$lezi$xs$gpier$yt$liv$qiww$epp$xli$xmqi2$
Wli$riziv$pieziw$q}$xlmrkw$epsri$erh$oiitw$stirmrk$q}$hve{ivw$erh$pssomrk$ex$iziv}xlmrk$mrwmhi2$
Rsxlmrk$M$lezi$mw$tvmzexi2$Epws0$M!‥q$rsx$epps{ih$xs$hs${lex$M${erx$xs$hs2$
Qsq$we}w$M$qywx$xyvr$q}$vehms$sjj$ex$rmklx$figeywi$xli$rsmwi$oiitw$q}$wmwxiv$e{eoi2
[lex$ger$M$hsC
Pmrhe

上列亂碼是由原來的ASCII碼加4後所得,請寫MATLAB程式將其還原,並將內容翻譯成中文。

 fid=fopen('message.txt'); %開啟檔案
fout=fopen('tmessage.txt','W');%另存檔案
while feof(fid)==0;%讀檔,若檔案讀完,feof=1
    str=fgetl(fid);%一列一列讀完,包跨換行字元
    fprintf(fout,'%s \r\n',char(int8(str)-4));%將每一行字串轉換為ASCII碼再減4,再輸出至另一檔案儲存
end
fclose(fid);
fclose(fout);
結果:
親愛的Dulcie,
我十五歲,和我九歲的妹妹同住一間房。
她很邋遢,我不得不花一堆的時間清理他製造的垃圾。
她總是亂動我的東西而且常常翻遍我的抽屜看看裡面有些甚麼。
我沒有任何隱私。此外,我沒辦法做我想做的事。
媽媽說因為收音機的聲音會讓妹妹沒辦法睡覺,所以我必須要關掉。
我該怎麼做?
Linda上