Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

今回は、文字コードのチェック(エンコーディングチェック)を行う処理に関する問題です。 問題 以下のコードの問題を指摘し、修正してください。 ただし、問題は複数あることもあれば、全くないこともあります。 public class StringValidator { private static boolean checkCharacterCode(String str, String encoding) { if (str == null) { return true; } try { byte[] bytes = str.getBytes(encoding); return str.equals(new String(bytes, encoding)); } catch (UnsupportedEncodingException ex) { throw new RuntimeExcepti
Java 文字化け Unicode 4.0 補助文字対応 † J2SE 5 からは内部文字コード(char型)が UCS-2 (完全16ビット)ではなく UTF-16 (サロゲートペアあり)となった。 Java プラットフォームにおける補助文字のサポート http://java.sun.com/developer/technicalArticles/Intl/Supplementary/index_ja.html ↑ char → byte 変換 † Shift_JIS(SJIS), Windows-31J(MS932) の異なる点のみ拾い出している。(一部逆変換の参考のために記載。) NEC拡張漢字、NEC選定IBM拡張漢字は除外。 Shift_JIS, ISO-2022-JP, EUC_JP は内部的には同じ変換表を使っているので割愛。 ここでは文字は UTF-8 で表記している。(U
毎度毎度、文字コードの話は面倒である。開発のメインストリームでないことと、外部調整が必要であることが原因だと思う*1。 プラットフォームが変わるたびに、毎回検証しているような気がする。私の場合だと、毎回OSが違う。Windows Server、AIX、HP-UX、Red Hat Linux。毎回Java仮想マシン(JVM)が違う。SunのJDK(今はOracleか)、JRockit(これもOracleか)、IBMのJVM、HPのJVM。データベースエンジンは、だいたい同じ。 本当にみんな、毎回やっているのだろうか? とりあえず、Javaで開発することは決まっている前提で、外部設計と内部設計にて、やるべき(と思っている)ことをまとめておく。 以降で挙げる例は、次のようなシステムをイメージしている*2。 構築対象システム Webアプリケーション バッチ 外部システム ホスト 外部設計 画面や帳
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く