- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:日本語をコード化(16進数)→復元に問題はないですか?)
日本語をコード化(16進数)→復元に問題はないですか?
このQ&Aのポイント
- 日本語のコード化(16進数)と復元について疑問があります。
- コード化された日本語を復元する際に問題はないのか不安です。
- また、コード化した日本語の桁数についても疑問があります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
あくまで一般的な話しなのですが。。。 日本語(全角文字)は2バイト文字なので16進数で表すと4桁になります。 半角文字なら1バイト文字なので16進数では2桁です。 コンピュータが文字を読むときは、まず1バイト(16進数で2桁)読んで、 1バイト文字か2バイト文字かの判定を行います。 1バイト文字ならそのまま文字として認識し、2バイト文字ならもう1バイト 読んでから文字として認識します。 必ず先頭の1バイトで1バイト文字か2バイト文字か判定できるようになって いるというのがミソです。 >例:日本太郎 → 65e5:672c:592a:90ce と書かれていました。それはそれで正しいのですが、 日本太郎 → 65:e5:67:2c:59:2a:90:ce と考えたほうが実情とあっていると思います。 変換するときに1バイト文字か2バイト文字か考慮する必要はないのです。 復元するときも1バイト(16進数で2桁)ごとに復元します。 復元された文字列をコンピュータが認識するときに、上記のような手順で 認識しますからきちんと認識できるのです。 >また、上記のように16進数化したとき、日本語は必ず4桁になるのでしょうか? これは文字コード次第です。 一般の文字コード(Shift-JIS, EUC-JP, UTF-8)では全角文字は2バイトなので 16進数化すると必ず4桁になります。 >問題というか、復元したら違う文字になったりはしないものなのでしょうか? 変換するときの文字コードと、復元するときの文字コードが同じなら違う文字には なりなせん。
お礼
回答ありがとうございます。 想像通りの回答で、とても安心しました。 入力もShift-JISですので問題なさそうです。 これで心おきなく次のステップへ行けます。 ありがとうございました!