【问题标题】:How to do URL encoding of value which is already in %如何对已经在 % 中的值进行 URL 编码
【发布时间】:2020-03-16 05:39:53
【问题描述】:

我必须询问用户的输入,然后对输入进行编码。 用户输入:ABC!123%C56 预期输出:!和 % 符号应该被编码但是!符号已编码而 % 符号未编码,因为 %C 已经是其他符号的值。请建议解决方案如何将编码与 % 符号一起使用。

【问题讨论】:

  • 向我们展示您用于编码的代码
  • 我的问题是我们可以对 %C 进行编码吗?
  • 当然可以。 “%C”的编码是“%25C”。如果您的代码没有像这样对其进行编码,那么您的代码就是错误的。只要不显示代码,你的代码有什么问题很难说。
  • 根据urlencoder.org,您的用户输入“ABC!123%C56”应编码为“ABC%21123%25C56”。如果您的代码执行其他操作,那么它没有执行 URL 编码

标签: java url encoding uri urlencode


【解决方案1】:

您可以匹配%是否包含在用户输入的符号中。如果包含 % ,可以将% 替换为特殊符号(用户通常不会输入的符号)。尽量避免选择用户将使用的符号。例如,<p> 代表百分比。我认为<p> 符号很少使用。如果需要解码,请将<p>替换为%

例如:ABC!123%C56 --> ABC!123<p>C56

【讨论】:

  • 它不工作。我接受了用户 James%00009 的输入,编码后它是 James

    00009,但它不起作用。任何其他编码 %(A-F), %(0-9) 的方法,因为其余的工作正常。

  • 投反对票,因为您的解决方案不进行 URL 编码,而是进行一些其他任意编码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-04-10
  • 1970-01-01
  • 2011-08-30
  • 2013-04-02
  • 2013-03-04
  • 2011-07-23
  • 1970-01-01
相关资源
最近更新 更多