アプリ版:「スタンプのみでお礼する」機能のリリースについて

題記の文字コードチェックについて教えていただきたいのですが、

入力情報に対して、S-JISのある範囲内の文字コードに該当していればエラーとするような文字コードチェックをしたいのですが、
どのようにすればよいでしょうか?
下記のコードも文字コードのチェックなのですが、これだとUnicodeでのチェックになってしまいます。
どうにかしてS-JISでチェックしたいのですがやり方がわかりません。。

よろしくお願い致します。

コード----------------------------------------

public class CodeCheck {
 public static void main(String[] args) {
  String str = "a";
  char ch = str.charAt(0);
  if(ch == 0x2460) {
   // エラー処理
  } else {
   // 正常処理
  }
 }
}

---------------------------------------------

A 回答 (1件)

Unicodeの0x2460。

まるの中に数値のある文字列を表現したいのだと思いますが
これは機種依存文字です。(Windowsでのみ表示できる文字)
Javaの場合 "MS932"でコードを変換します。

public class CodeCheck {
 public static void main(String[] args) {
  try{
   String str = "a";
   byte array[] = str.getBytes("MS932");
   char ch;
   if (array[0] >= 128){
    ch = (char)array[0];
   }else{
    ch = (char)(array[0] * 0x100 + array[1]);
   }
   if(ch == 0x8740) {
    // エラー処理
   } else {
    // 正常処理
   }
  }catch(Exception e){
  }
 }
}


"a"を(1)(まるの中に1)と置き換えれば
エラー処理を通ります。
    • good
    • 0
この回答へのお礼

ありがとうございました。
解決できました。

お礼日時:2005/11/06 03:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!