我一直在尝试创建一种在 Java 中编码字符串的方法,但我遇到了一个很大的障碍。
我的问题是我无法忽略诸如 \n \u \ 之类的转义符。(它们也被编码。)
我在这个问题上花了 3 个小时,这是我的代码。
public Object encode() throws EncodingException {
String encoded = "";
if (!isEncoded) {
int i = 0;
char[] alpha = (this.value.toString().toCharArray());
while (!(i >= alpha.length)) {
i++;
try {
if(!(alpha[i - 1] == '\\')){
encoded = encoded
+ SerializeEncoding.encoding.encodings.get(
new String(new char[] { alpha[i - 1] }))
.toString();
}else{
encoded = encoded
+ alpha[i - 1] + alpha[i];
i++;
}
} catch (NullPointerException e) {
encoded = encoded
+ new String(new char[] { alpha[i - 1] })
.toString();
}
}
encodedValue = (Object) encoded;
isEncoded = true;
log = encodedValue;
return (Object) encodedValue;
} else {
throw new EncodingException("Already encoded");
}
}
谢谢卷发
PS。如果我错过了什么,请告诉我。