仕事で、文字列に JIS X 0213
以外が含まれないことをチェックする処理を実装しろと言われたのですが、調べてもなかなか出てこなかったので、備忘録として記載しておきます。
コード
処理自体は簡単で、charsetName
に x-SJIS_0213
を指定して、byte[]
⇔ String
に変換して、変換前後の値が一致することを確認します。
String target = "小⃝𠮷";
byte[] targetBytes = target.getBytes("x-SJIS_0213");
String after = new String(targetBytes, "x-SJIS_0213");
System.out.println("check:" + after.equals(target));
String target
に含まれる値が JIS X 0213
の文字のみであれば、after.equals(target)
は true
。
JIS X 0213
以外の文字が含まれる場合は、false
となります。