首页 > 解决方案 > URL 编码转义字符,如 \n、\t 等

问题描述

我有一个用 C 类型编码编码的字符串(如果有更好的名称,请告诉我),即新行已转换为 \n,制表符转换为 \t。我想对字符串进行 URLEncode 但编码器将 \ 编码为 %5C 并留下 n 。例如:abc\ndef\tghi\njkl 被编码为 abc%5Cndef%5Ctghi%5Cnjkl。有没有办法以编码器将 \n 读取为新行的方式更改字符串。有一些 hacky 和一些非常 hacky 的方法,但我想避免它们

标签: uriurlencodebackslash

解决方案


我发现有一个 StringEscapeUtils 类,它具有 unescapeJava、unescapeJava 之类的 API,它可以取消转义所有这些转义字符。然后 URL 编码将正常工作。希望这可以帮助面临同样问题的人。


推荐阅读