Language agnostic 破折号和下划线的url解码
我试图为Ajax站点推荐一种可读的URL结构。我想用破折号或下划线来表示多个单词 例如: 挑战在于,我们在系统中有一堆多个单词关键字,我们通过url筛选这些关键字,这些关键字可能有破折号或下划线。(我猜我们系统中的一些金融股票代码确实使用下划线) 我是不是被困在解码方面了?我必须使用%20吗Language agnostic 破折号和下划线的url解码,language-agnostic,url-encoding,Language Agnostic,Url Encoding,我试图为Ajax站点推荐一种可读的URL结构。我想用破折号或下划线来表示多个单词 例如: 挑战在于,我们在系统中有一堆多个单词关键字,我们通过url筛选这些关键字,这些关键字可能有破折号或下划线。(我猜我们系统中的一些金融股票代码确实使用下划线) 我是不是被困在解码方面了?我必须使用%20吗 谢谢 我认为你应该做的是: 有一个指定的“转义”字符-\(反斜杠)对此很常见 编码时,首先将所有\替换为\,然后将所有-替换为\-,然后将所有空格替换为破折号。(这里的顺序很重要!) 解码时,首先用空格替换
谢谢 我认为你应该做的是:
\
(反斜杠)对此很常见\
替换为\
,然后将所有-
替换为\-
,然后将所有空格替换为破折号。(这里的顺序很重要!)\
的所有破折号,然后用-
替换所有-
,然后用\
替换所有\
\
替换为\
:Jo\\hn Smith Jones
现在将-
替换为-
:Jo\\hn Smith \-Jones
现在用破折号替换空格:Joh\\n-Smith \-Jones
(最终结果)
<>这在编码结果的中间会导致奇怪的反斜杠,但是只有在第一个地方有标点符号时,这才是比较少见的。
等等,我又想到了一件事。反斜杠可能不适用于URL,因此可能使用不同的字符-过程仍然完全相同,只需用其他字符替换反斜杠即可
快乐的黑客 我建议您使用空格,在URL中将其编码为
+
,并保留连字符:
继续,在你的url中使用-和u(你真正想问的是什么,%20是用来编码一个空格的),我想我的问题可以归结为,如果我们用破折号作为分隔符,那么我们想在url中使用的一个项目是连字符的名称“smith jones”,会发生什么?