首页 > Java > java教程 > 为什么`URLEncoder`将空格编码为'”而不是'”?

为什么`URLEncoder`将空格编码为'”而不是'”?

Mary-Kate Olsen
发布: 2024-11-11 16:35:03
原创
1060 人浏览过

Why Does `URLEncoder` Encode Spaces as

URLEncoder 和 HTML 表单 URL 编码之间的差异

在尝试使用 java.net.URLEncoder 对包含空格字符的字符串进行编码时,您可能会注意到意想不到的结果。输出不遵循预期的“Hello World”格式,而是生成“Hello World”。这源于 URLEncoder 的行为和 HTML 表单 URL 编码之间的细微差别。

URLEncoder 根据 HTML 规范进行操作,以对 HTML 表单中的 URL 进行编码。根据 HTML 规范,控件名称和值必须转义空格字符,不能使用“,”,而是使用“”符号。

但是,您的要求可能是将空格字符专门编码为“”。为此,可以对编码字符串执行简单的替换操作:

String encodedString = java.net.URLEncoder.encode("Hello World", "UTF-8");
String correctedString = encodedString.replace("+", "%20");
登录后复制

此更正将“ ”符号替换为“,”,从而得到所需的“Hello World”格式。

以上是为什么`URLEncoder`将空格编码为'”而不是'”?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板