繁体   English   中英

将 URL 中的 base64 信息作为查询字符串传递的正确方法?

[英]Correct way to pass base64 info in URL as query string?

我通过使用方法btoa()base64转换它们来发送查询字符串中的一些参数。 我只是想知道,我是否还需要将结果包装到encodeURI方法中才能将正确的信息以 URL 的形式传递给服务器。

例如:

  • http://example.com/{name} -为此,下面哪个是正确的?
  • "http://example.com/" + btoa("some-name")
  • "http://example.com/" + encodeURI(btoa("some-name"))

您只需要将字符串转换为 Base 64。请参阅 C# 的这个 SO 答案

  var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
  return System.Convert.ToBase64String(plainTextBytes);

您还可以阅读我们使用 Base 64 的原因

之后不需要使用诸如encodeURI的方法,因为 Base 64 (AZ, az, 0-9, =, +) 的所有字符都没有转义

encodeURI 转义所有字符,除了:

 AZ az 0-9 ; , / ? : @ & = + $ - _ . ! ~ * ' ( ) #

顺便说一下, encodeURIbtoa是关于 JavaScript 的,而不是你在标签中提到的 asp.net。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM