C# 我可以添加一个转换为Base64的字符串作为URL的一部分吗?

C# 我可以添加一个转换为Base64的字符串作为URL的一部分吗?,c#,C#,我有一个经过加密转换的字符串。我想让这一部分的网址。如果它已转换为base64,那么这是可能的,还是我需要做更多的事情 var going_to_be_part_of_url = System.Convert.ToBase64String(bytOut, 0, i); 谢谢是的,但这不是一个好主意,Base64要求您尊重大小写之间的差异。URL通常不严格区分大小写 还有一个问题是,Base64中的特殊字符被转换为URL编码的等效字符,这使得您的URL难看且不易管理 您应该改为使用Base36。

我有一个经过加密转换的字符串。我想让这一部分的网址。如果它已转换为base64,那么这是可能的,还是我需要做更多的事情

var going_to_be_part_of_url = System.Convert.ToBase64String(bytOut, 0, i);

谢谢

是的,但这不是一个好主意,Base64要求您尊重大小写之间的差异。URL通常不严格区分大小写

还有一个问题是,Base64中的特殊字符被转换为URL编码的等效字符,这使得您的URL难看且不易管理

您应该改为使用Base36。

您可以使用一个仅为base64并替换了几个问题字符的


最简单的方法是使用base64字符串进行编码,在构建URL时对有问题的字符执行字符串替换,在解释URL时颠倒过程。

简而言之,是的。看看这个链接,看看这是否就是你想要的:有很多服务都有混合格式的URL,你必须尊重它们。例如bit.ly,这是非常常见的。如果一个单独的web服务器说外壳不重要,那么它就不重要了。如果它说是,那么它就是。浏览器尊重这种情况,以及两者之间的所有基础设施(否则像bit.ly这样的服务将是不可能的)。您的应用程序是否(IIRC,Umbraco不主动)取决于该应用程序。但网络作为一个整体尊重这种情况。