检查一个字符串是否包含编码错误的字符
问题描述:
我收到一个XML文件,其标签的值为“97Ô00430²“,而此标签最初只包含数字。编码用途是“ISO-8859-1”。检查一个字符串是否包含编码错误的字符
如何在java中检测不良字符(?......)?
LNA
答
我想你可以使用正则表达式来检查你的标签的格式(这里,“\ d +”,如果你想只数)。
答
public static String encode(String chr) {
try {
byte[] bytes = chr.getBytes("ISO-8859-1");
if (!validUTF8(bytes))
return chr;
return new String(bytes, "UTF-8");
} catch (UnsupportedEncodingException e) {
throw new IllegalStateException("No char" + e.getMessage());
}
}
+2
什么是'validUTF8()'? –
+0
它的方法,我把我的逻辑来验证它。 –
我不知道你是否可以在源头解决问题而不是后来检测到它?它闻到强烈的字符编码差异。 –