Java byte配列からStringへの変換

import java.io.UnsupportedEncodingException;
import org.apache.commons.codec.binary.StringUtils;
        String sessionKey = "ABCDEFGHIJABCDEFGHIJABCDEFGHIJAB";
        byte[] sessionKeyBytes = sessionKey.getBytes();
        try {
            System.out.printf("%sn", new String(sessionKeyBytes,"UTF-8"));
        } catch (UnsupportedEncodingException e) {
            // TODO 自動生成された catch ブロック
            e.printStackTrace();
        }
        // 例外もみ消し版
        System.out.printf("%sn", StringUtils.newStringUtf8(sessionKeyBytes));

実行結果は

ABCDEFGHIJABCDEFGHIJABCDEFGHIJAB
ABCDEFGHIJABCDEFGHIJABCDEFGHIJAB

となる。
まとめると、Java標準だとStringでnewすればいいんだけど、文字コード指定時に、例外処理を追加しないといけない。
UTF-8は大抵あるから、いちいち例外処理するの面倒くさいよねってことで、例外をもみ消してくれているのが、StringUtils.newStringUtf8。
大抵StringUtils使った方が楽なので、StringUtilsを使いましょうというお話。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です