什么字符集我应该承担的编码的字符在URL中是?(What character set should

2019-07-17 15:25发布

RFC 1738指定的URL语法,并提到

网址只用的图形打印字符写
US-ASCII编码字符集。 八位字节80-FF十六进制不
在US-ASCII使用,八位字节00-1F和7F十六进制表示
控制字符; 这些必须进行编码。

这不,但是,说什么设置这些代码八位字节,然后表示。

RFC 2396 ,似乎尝试和改进的情况,但是:

对于包含非ASCII字符的原始字符序列,但是,这种情况是比较困难的。 该发送旨在代表字符序列八位组序列的互联网协议预期提供识别的字符集使用时,如果有可能是多个[RFC2277]的某种方式。 然而,目前通用的URI语法中没有规定实现这个标识。 单个URI方案可能需要单一的字符集,定义默认字符集,或提供了一种方式,以指示使用的字符集。

预计内URI字符编码的系统治疗将发展成为本规范的将来修改。

有没有什么办法unambigous其中一个客户端可以决定哪些字符集来解释编码的八位字节,或在其中一台服务器可以用来确定什么是客户端编码?

这在我看来就像大多数服务器默认为UTF-8,但是这似乎是一个事实上的选择不止一个指定的一个。

Answer 1:

根据你的报价,网址是ASCII。 就这样。

URI的OTOH,允许更大的字符集; 通常UTF-8作为你自己说的。

要记住的一点是,URL是URI的一个子集。 因此,真正的问题是,它的这些是你在浏览器中写的是什么?

我猜你可以写一个URI和浏览器应尽量转变成一个URL(这是HTTP / 1.1支持,AFAICR)。 对于非ASCII字符,这意味着hexcodes,通常编码UTF-8。



Answer 2:

我相信你正在寻找的规范是RFC 3987 ,它描述了虹膜-国际化资源标识符。



文章来源: What character set should I assume the encoded characters in a URL to be in?
标签: url