refactor: 移除 StringEscape 类中未使用的 escape 方法

- 删除了 StringEscape 类中的 escape 方法,该方法用于将普通字符串编码为可安全存储的转义字符串
- 保留了unescape方法,并简化了其文档注释
This commit is contained in:
Luke 2025-08-27 10:44:44 +08:00
parent 49b5e61e8e
commit 4181ff8ae2

View File

@ -19,47 +19,9 @@ public final class StringEscape {
private StringEscape() { private StringEscape() {
} }
/**
* <b>编译期方法</b>
* <p>将普通字符串编码为可安全存储于单行文本 .water 指令的转义字符串</p>
*
* <ul>
* <li>常见控制字符如换行制表符回车等会转为转义序列 <code>\n</code><code>\t</code></li>
* <li>反斜杠单双引号等特殊字符会转为对应转义形式</li>
* <li>非可见 ASCII 字符或超出 0x7E 范围的字符会被编码为 Unicode 形式 <code>uXXXX</code></li>
* </ul>
*
* @param input 原始字符串可能包含特殊/不可见字符
* @return 转义后的字符串可安全作为单行文本保存
*/
public static String escape(String input) {
StringBuilder sb = new StringBuilder();
for (char ch : input.toCharArray()) {
switch (ch) {
case '\n' -> sb.append("\\n"); // 换行
case '\t' -> sb.append("\\t"); // 制表符
case '\r' -> sb.append("\\r"); // 回车
case '\b' -> sb.append("\\b"); // 退格
case '\f' -> sb.append("\\f"); // 换页
case '\\' -> sb.append("\\\\"); // 反斜杠
case '"' -> sb.append("\\\""); // 双引号
case '\'' -> sb.append("\\'"); // 单引号
default -> {
// 对于不可见的 ASCII 字符<0x20或非 ASCII 可见字符>0x7E转为 Unicode
if (ch < 0x20 || ch > 0x7E) {
sb.append(String.format("\\u%04X", (int) ch));
} else {
sb.append(ch); // 其他字符直接附加
}
}
}
}
return sb.toString();
}
/** /**
* <b>运行期方法</b> * <b>运行期方法</b>
* <p>将转义序列 <code>\n</code>, <code>\u4E16</code> 还原为实际字符</p> * <p>将转义序列还原为实际字符</p>
* *
* <ul> * <ul>
* <li>支持常见的转义字符序列</li> * <li>支持常见的转义字符序列</li>