首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >url编码、表单编码和mailto:编码

url编码、表单编码和mailto:编码
EN

Stack Overflow用户
提问于 2011-05-05 22:23:30
回答 1查看 4.3K关注 0票数 2

我对与HTML相关的整个编码问题感到有点困惑。我指的不是头中的字符集,也不是XML前言中的编码。我明白了。让我解释一下。

当"mailto:“与表单中的锚点或提交按钮一起使用时,空格编码为"%20”,“换行符/回车符/换行符/行尾”编码为%0A。而当在值为"application/x-www- form -urlencoded“的表单上使用enctype属性时,空格被编码为"+”,特殊字符、撇号、百分号和其他符号被转换为它们的ASCII十六进制等效项。值"application/x-www-form-urlencoded“是URL编码吗?那么为什么第一个是"%20“,第二个是"+”。

代码语言:javascript
复制
"mailto:someone@someplace.com?cc=carbon@copy.com&bcc=blind@carbobcopy.org&subject=This%20is%20the%20subject&body=This%20is%20the%body%0AThis%20is%20the%20second%20paragraph"

在上面的示例中,主题中的空格被编码为%20,主体中的新行被编码为%0A。

代码语言:javascript
复制
<form enctype="application/x-www-form-urlencoded"></form>

并且在上面的空白处将被编码为"+“。我是不是遗漏了什么?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-05 22:40:17

URI(就像您的mailto示例一样)应该根据RFC3986进行编码,RFC3986指定将空格编码为%20。

另一方面,根据HTML规范定义的规则,表单数据的格式被编码为application/x-www- FORM -urlencoded。(例如,请参阅section 17.13.3.3 of the HTML 4.01 specification。)这指定要将空格转换为+符号。

因此,虽然URI和表单数据之间的百分比编码类似,但空格字符的处理方式不同。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5899297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档