覚えているかもしれませんが、Windows のメモ帳には、「名前を付けて保存」機能で、ASCII (デフォルト)、UTF-8、Unicode、およびビッグ エンディアンとしてエンコードする機能があります。 ASCII .txt ファイルのテキストを処理し、結果を Unicode .txt ファイルとして保存するプログラムを作成する必要があります。
- 検索したところ、ここでの Unicode は UTF-16LE (BOM なし) を意味します。私が間違っている場合は、修正してください。
ASCII から char として読み取り、それを wchar_t に 1 つずつ変換しようとしましたが、成功しましたが、UTF-16LE ではなく UTF-8 を使用しています。それが私がそれを行う方法です:
int result = (int)input_char; //input_chat is char from ASCII while(result<0) result+=256; wchar_t output_wchar = wchar_t(result);
このコードはファイルで動作し、ASCII シンボルを失うことはありません。
- また、UTF-16LE は U+hhhh コードとしてコーディングされていることも知っています。したがって、前のステップが正しければ、私の問題は次のとおりです。U + hhhhコードをc ++でwchar_tに配置する方法は?