メニュー

言語

その他

更新履歴

取得中です。

※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

文字列について


半角と全角をチェックする。


   public static void main(String[] args){
       String str = "NetBeanでHello Worldをしてみる";
       byte[] bytes = null;
       try{
           bytes = str.getBytes("SJIS");
       }catch (Exception e){
           e.printStackTrace();
       }
       if(str.length() != bytes.length){
           System.out.println( bytes.length - str.length());
       }
   }
このソースコードはサンプルです。SJISに変換できない場合、止まる可能性があります。

 JAVAはUTF-8なので半角も全角も2バイトである。しかし、一旦SJISに変換(EUC-JPでもいいんだろうけど)すると、半角は1バイト、全角は2バイトになるので、全角の分だけ文字列長よりバイト配列の長さのほうが大きくなる。

 ここで、バイト配列内の全角と半角を判別するには、文字コードを見ればよい。半角は(多分)ASCIIコードと同じなので、0x7F以下になるはずである。つまり、0x80以上を見つかれば、その次のバイトと合わせて1文字の全角であると判断できる。




| 新しいページ | 編集 | 差分 | 編集履歴 | ページ名変更 | アップロード | 検索 | ページ一覧 | タグ | RSS | ご利用ガイド | 管理者に問合せ |
@wiki - 無料レンタルウィキサービス | プライバシーポリシー