str1>>
我想在XML标签之前删除这些奇怪的字符?
False
答案 0 :(得分:1)
该代码实际上使用的是默认平台编码。 因此,该软件依赖于当前的OS编码。 它应该是存储字节的编码。
Charset charset = StandardCharsets.UTF_8;
byte[] bytes = rset.getBytes("CONTENTS");
String str1 = new String(bytes, charset);
然后这两个奇怪的字符可能只是一个字符,BOM,零宽度空间用作UTF-8 / UTF-16标记,绝对冗余:
str1 = str1.replaceFirst("^\uFEFF", "");
这将从文本的开头(^
)中删除BOM,U + FEFF。
编辑XML时,请确保将其保存为UTF-8 ,不含 BOM。
或者它可能是从左到右,从右到左的字符:
str1 = str1.replaceAll("(?u)[\u200E\u200F]", "");
这可能证明太激烈了。