私は最近、80 年代のテキスト ベースの RPG を作成/エミュレートすることに興味を持っています。たとえば、Rogue やその派生物など、拡張 ASCII 文字から作成されたグラフィックを特徴としています。したがって、これらのゲームのグラフィックを作成してコンソールに出力する場合は、次のことを行う必要があると考えています。1) メモ帳などのテキスト エディターでレベルなどをデザインします。2) これらのファイルには拡張 ASCII が含まれているため、これらのファイルを Unicode でエンコードされた txt ファイルとして保存します。3) ゲーム プログラムにこれらのファイルからグラフィックを読み取らせ、コンソールにそのまま出力します。これは良い計画のように思えますが、問題が 1 つあります。
私の人生では、プログラムに拡張 ASCII 文字を正しく出力させることはできません。一般的に起こることは、プログラムがファイルから各単一文字を ASCII 文字のペアとして読み取るように見えることです。たとえば、文字「☺」は「&;」などとして出力されます。
C++ や C# で、Unicode でエンコードされた txt ファイルから拡張 ASCII 文字を 1 行ずつプログラムに適切に読み取り、それらの行をコンソール ウィンドウに出力するにはどうすればよいですか?
(つまり、"&;" のような破損した文字ペアを取り、それを '☺' のような単一の ASCII 文字に変換する変換関数を作ることができると思います。ステートメントまたはいくつかの巧妙に推測された数式ですが、私はかなり怠け者であるだけでなく、C++/C# が ANSI でエンコードされていない txt ファイルを使用してファイル I/O を処理する方法を知りたいと思っています (実際にそのようなメカニズムがある場合)。実装!)