2016-09-28 37 views
0

このタグには最初に数字のみが含まれていますが、値が "970"のタグを持つXMLファイルが送られます。エンコードの用途は「ISO-8859-1」です。文字列に不正なエンコーディングを含む文字列が含まれていないか確認してください。

Javaで不正な文字(²²...)を検出するにはどうしたらいいですか?

LNA

+0

問題をソースで検出するのではなく、後で解決できるかどうかは疑問です。文字エンコードの違いが強く匂いがする。 –

答えて

0

私はあなたがあなたのタグ(あなただけの数字をしたい場合は、ここで、「\ D +」)の形式を確認するために正規表現を使用することができると思います。

-2
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

私はそれを検証するロジックを置く方法です。 –

関連する問題