我正在使用encodeURIComponent 在 JS 中编码某个文本。原文是
weoowuyteeeee !_.
Test could you please resubmit again?
在发送之前,我在 JS 代码中执行以下操作。
var text = encodeURIComponent($("#txt11").val());
我不应该这样做吗?
一旦我使用encodeURIComponent对其进行编码,它就会变成
<小时/>weoowuyteeeee%2520!_.%252C%250A%250ATest%252C%2520%2520可以%2520you%2520请%2520重新提交%2520再次%253F
<小时/>我正在尝试使用
在 Java 端解密相同的内容String decodedString1 = URLDecoder.decode(myObject.getText(), "UTF-8");
但我认为这是输出,而不是原始文本。我做错了什么?
<小时/>weoowuyteeeee%20!_.%2C%0A%0ATest%2C%20%20可以%20you%20请%20重新提交%20再次%3F
<小时/>最佳答案
您对数据进行了两次编码。
最初,您已经对数据进行了编码,稍后又会再次进行编码。
例如:让您的文字为
Hello World
编码后变成
Hello%20World
如果再次编码,它会变成
Hello%2520World
原因
% from %20 is encoded to %25. So the space becomes %2520.
普通的 AJAX 会在发送到服务器端之前自动对您的数据进行编码。检查第二次编码发生的位置。
关于JavascriptencodeURIComponent和Java解码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43331827/