我想在XML标记之前删除这个奇怪的字符



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]", "");

相关内容

  • 没有找到相关文章

最新更新