【发布时间】:2019-05-18 07:09:36
【问题描述】:
为什么这不起作用?
decodeURI('\n') => newline;
decodeURI("\\n") => '\n', thus presumably...
decodeURI(decodeURI("\\n")) // => gives '\n' instead of newline
但是这样呢?
JSON.parse('"\\n"') // => newline
这里的重点是能够构建一个 \* 字符串,然后通过 decodeURI 将其转换为它的实际字符。
如果可能,我想避免使用 JSON.parse。
编辑
我意识到我处理这个问题的方式令人困惑。一个更好的问题是询问 decodeURI 和 JSON.parse 如何将它们从字符串文字转换为已解析的字符,以及是否有更直接的方法。
【问题讨论】:
-
因为
\n不是URI编码。 -
@SLaks - 我添加了另一行进行澄清。
-
"如果可能,我想避免使用 JSON.parse。" - 但为什么呢?这是您需要的功能,它是有效的功能。
-
编辑后,这个问题仍然没有任何意义。 URL 编码不涉及
\*。 -
您应该从了解
decodeURI的作用开始。
标签: javascript escaping unicode-escapes