str1>>
我想在XML标签之前删除这个奇怪的字符??
byte [] bytes = rset.getBytes("CONTENTS");
String str1 = new String(bytes);
System.out.println("str1 >> "+str1);
该代码实际上使用了默认的平台编码。因此,该软件依赖于当前的操作系统编码。它应该是存储字节的编码。
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)[u200Eu200F]", "");