2014-12-03 111 views
0

我用MIME :: Base64的編碼一些字符串安全地越過一個URL 但也有時間,其中的代碼中斷,由於寬字符MIME Base64編碼寬字符

我怎樣才能安全地編碼寬字符,我不需要使用MIME :: Base64編碼,任何輕質編碼會爲我

use MIME::Base64; 
print MIME::Base64::encode_base64("\x{2019}s text"); 
print "\nBye\n"; 

回答

2

工作,你可以在documentation看到,encode_base64接受字節作爲參數。從字符串獲取字節,其編碼:

use Encode; 

print MIME::Base64::encode_base64(encode('utf-8', "\x{2019}s text")); 

不要忘記decode回接收方!

+1

記住,接收代碼在解碼Base 64數據後還必須*解碼*字節串。 – Borodin 2014-12-03 12:02:54

+0

@Borodin:我忘了提及它,現在更新了。感謝提醒。 – choroba 2014-12-03 12:04:11

+0

但是這意味着每次都會進行雙重編碼,即使沒有寬字符 – Ram 2014-12-03 12:49:47