1. 入力した文字を文字番号として扱う
アプリに「あ」と入力すると、内部ではUnicodeの U+3042 という番号として扱われます。表示するときは、フォントがその番号に対応する字形を描きます。
2. 保存するときにバイト列へ変える
ファイルへ保存したり通信したりするときは、UTF-8などの方式を使います。UTF-8なら「あ」は E3 81 82 という3バイトになります。
3. 開く側が同じ方式で読み戻す
読み込み側はバイト列をUTF-8として解釈し、U+3042へ戻して「あ」を表示します。ここで別の方式を使うと、文字化けが起こります。
入力
あ保存
E3 81 82読み戻し
あ