- 締切済み
UTF-8をUTF-16に変換する方法
UTF-8をUTF-16に変換する方法に関してご教授ください できれば具体的な例を示して頂き、Javaでのサンプルなどを 示して頂けると幸いです。 その場合エンコーディング関連のライブラリは使用できません 自分が知りたいことは、 「どういった考えに基づいて変換を行えばいいか」 という変換規則のほうに重点を置いており、コードの解説そのものよりも 変換の考え方を説明頂ければと思います。 全くの素人ですが何卒よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- SortaNerd
- ベストアンサー率43% (1185/2748)
回答No.1
>コードの解説そのものよりも変換の考え方 ということですが、コードの構造が分かっていれば変換の考え方は自明です。 Shift_JISなどと違ってビットをシフトするだけですので。 まずコードの構造はこちらをご覧ください。 http://ja.wikipedia.org/wiki/UTF-8#.E3.82.A8.E3.83.B3.E3.82.B3.E3.83.BC.E3.83.89.E4.BD.93.E7.B3.BB 1バイト目の0が現れる位置で1文字のバイト数が決まります。 80,20,10…と順に&を取ってバイト数で場合分けすればよいでしょう。 バイト数が分かったらあとは適に&でマスクしてシフトして足すだけです。 エラー処理や非BMPの扱いは面倒なので省略します。