2016-08-02 87 views
-1

我想在php中使用base64進行編碼和解碼,但是編碼和解碼功能並沒有給我正確的輸出。我使用的代碼來自online php functionsPhp base base64編碼和解碼不能正常工作

我編碼此字符串

「最好的阿拉伯語歌曲愛2013馬不停蹄أفضلمنالأغانيالحبالجديد كلماتالعربي」

,並得到輸出:

「YmVzdCBhcmFiaWMgc29uZ3MgbG92ZXMgMjAxMyBub25zdG9wINij2YHYttmEINmF2YYg2KfZhNij2LrYp9mG2Yog2KfZhNit2Kgg2KfZhNis2K/ZitivINmD2YTZhdin2Kog2KfZhNi52LHYqNmK」

當我使用這個PHP代碼,它沒有給出一個正確的編碼和解碼字符串:

$str = 'best arabic songs loves 2013 nonstop أفضل من الأغاني الحب الجديد كلمات العربي'; 
    $decodestr = base64_decode($str); 

    echo 'decode = '.$decodestr 

    $encodestr = base64_encode($decodestr); 

    echo '<br>'; 
    echo 'encode = '.$encodestr; 



    i got this output : 

decode = më-j¶›‰Ë(ž%¢÷¬ÛMwž‰ì¶Š 

encode = bestarabicsongsloves2013nonstoo= 

任何一個可以幫助我,我怎麼能使用Base64編碼和解碼得到正確的編碼和解碼字符串函數在PHP中?

+0

此問題與base64函數無關。你在代碼中有簡單的錯誤,並且你沒有設置頁面編碼。 –

回答

1

函數base64_decode只解碼已經base64編碼的塊。 在你的代碼中,你試圖對導致問題的純文本進行base64解碼。

<?php $str = 'best arabic songs loves 2013 nonstop أفضل من الأغاني الحب الجديد كلمات العربي'; $encodestr = base64_encode($str); echo 'Base64 encoding of "best arabic songs loves 2013 nonstop أفضل من الأغاني الحب الجديد كلمات العربي" = '.'<br><br>'.$encodestr; $decodestr=base64_decode($encodestr); echo '<br><br><br>'; echo 'Base64 decoding of "best arabic songs loves 2013 nonstop أفضل من الأغاني الحب الجديد كلمات العربي" = '.'<br><br>'.$decodestr; ?>

試試這個代碼,它可以給我找!

+0

爲什麼所以我輸出Base64編碼的「最好的阿拉伯歌曲喜歡2013年不停的直播......」直到「ØØØØØØÙ」ØØØ「ØباÙ」ØØØ 「這是不顯示我的烏爾都語言字母 –

+0

base64編碼沒有顯示烏爾都語言或編碼時的任何純文本。你可以在base64解碼時取回你的烏爾都語言字母。 – StackB00m

+0

我的問題是如果我打印$ str ='最好的阿拉伯語歌曲喜歡2013年不停地أفضلمنالأغانيالحبالجديدكلماتالعربي'; echo'str ='。$ str;我得到了輸出str =最好的阿拉伯語歌曲喜歡2013年不間斷ØØÙضÙ「ÙØاÙ」ØØØØØØÙØØØØØØØØØØØØØØØØÙÙØØ我i我無法在Chrome瀏覽器中打印烏爾都語字母字符串。 –