Javascript Base64编码字符串URL友好
我在Javascript Base64编码字符串URL友好,javascript,base64,Javascript,Base64,我在javascript中对base64的URL进行解码/编码,但我看到很多人都在提醒如何使base64编码的字符串URL友好并易于使用 // if this is your Base64 encoded string var str = 'VGhpcyBpcyBhbiBhd2Vzb21lIHNjcmlwdA=='; // make URL friendly: str = str.replace(/\+/g, '-').replace(/\//g, '_').replace(/\=+$/,
javascript
中对base64
的URL进行解码/编码,但我看到很多人都在提醒如何使base64编码的字符串URL友好并易于使用
// if this is your Base64 encoded string
var str = 'VGhpcyBpcyBhbiBhd2Vzb21lIHNjcmlwdA==';
// make URL friendly:
str = str.replace(/\+/g, '-').replace(/\//g, '_').replace(/\=+$/, '');
// reverse to original encoding
str = (str + '===').slice(0, str.length + (str.length % 4));
str = str.replace(/-/g, '+').replace(/_/g, '/');
我只看到它用
-
回复+
,用-
回复\
那么这有什么意义呢!我的意思是,如果您不替换可能被误解的字符,我为什么要这样做呢?,就像本文中指出的那样。这将导致显示错误的内容,或者更可能不显示任何内容
解释:在URL中保留以下字符:
:/?#[ ] @ : $ & ' ( ) * + , ; =代码>
正如本文所指出的,编码数据需要65个字符,但大写、小写字符和数字的总和只有62个。因此,它需要另外三个字符,它们是+=/
。这三个是保留的。所以你需要更换它们。到目前为止,我还不能完全确定-