uri - URL 编码转义字符,如 \n、\t 等
问题描述
我有一个用 C 类型编码编码的字符串(如果有更好的名称,请告诉我),即新行已转换为 \n,制表符转换为 \t。我想对字符串进行 URLEncode 但编码器将 \ 编码为 %5C 并留下 n 。例如:abc\ndef\tghi\njkl 被编码为 abc%5Cndef%5Ctghi%5Cnjkl。有没有办法以编码器将 \n 读取为新行的方式更改字符串。有一些 hacky 和一些非常 hacky 的方法,但我想避免它们
解决方案
我发现有一个 StringEscapeUtils 类,它具有 unescapeJava、unescapeJava 之类的 API,它可以取消转义所有这些转义字符。然后 URL 编码将正常工作。希望这可以帮助面临同样问题的人。
推荐阅读
- c++ - 为什么临时数组可以在 C++ 的 MergeSort 中用变量初始化?
- reactjs - 在不同的 lerna monorepos 中操作路线
- c++ - 如何创建 IOUSBHostPipe::CompleteAsyncIO 回调?
- c++ - 如何在 C++ 中打印集合中的最后一个元素
- html - 为什么底部对齐在 v-content 中不起作用?
- python - 用#替换字符串中的数字并删除所有不是数字的字符
- c# - 从 C# 中的大 xml 读取子节点值
- git - 如何修复错误:错误签名 0x00000000 索引文件损坏
- redis - 流数据结构过期时如何强制redis客户端抛出异常?
- windows - 从批处理文件中添加对其他变量中的变量的引用