2014-12-03 113 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