ファイル読み込み時などで文字化けが発生した時の検出方法について
例えばUTF-8でエンコードされたテキストファイルをShift-JISで読み込もうとした際に、該当する文字が存在しない場合は’0xFFFD’の文字に変換されます。
Javaは内部的にはUnicode(正確にはUTF-16らしい)実際Stringクラスのコメントを確認してみると”represents a string in the UTF-16 format in which supplementary characters”のコメントが確認できるので内部的にはUTF-16が使われているような感じです。(jdk1.8.0_73で確認)