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を使いましょうというお話。