代码之家  ›  专栏  ›  技术社区  ›  DCNYAM

ASP.NET Base64字符串损坏

  •  0
  • DCNYAM  · 技术社区  · 16 年前

    我正在将一个对象从一个asp.net页面传递到另一个asp.net页面。我将对象编码为Base64字符串,并将其作为POST参数传递。但是,当接收页读取POST值时,如果Base64字符串中有+符号,则它将替换为换行符。例如:

     ...AABDEDS+DFEAED...
    

    变成

     ...AABDEDS
     DFEAED...
    

    3 回复  |  直到 16 年前
        1
  •  2
  •   Rex M    16 年前
        2
  •  1
  •   Justin Niessner    16 年前

    当您在参数中传递base64字符串时,需要对其进行URL编码(以便正确地显示字符)。使用:

    System.Web.HttpServerUtility.UrlEncode(base64String);
    

    HttpServer.UrlEncode Method (String)(System.Web)

        3
  •  0
  •   Eoin Campbell    16 年前

    +符号是一个特殊的URL字符,它本身的计算结果是URL中的一个空格。

    你需要 Server.URLEncode 您的base64字符串位于一侧(这将把加号变成%2B和 Server.URLDecode 它在另一边

    推荐文章