- ベストアンサー
UNICODEからASCII
すごく漠然とした質問でもうしわけないのですが UNICODEからASCIIへと変換するようなやり方 または 関数って C++であるのでしょうか 初心者なもので よろしくおねがいします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
VCなら MultiByteToWideChar [MSDN ライブラリ 2001 年 4 月] + [MSDN ライブラリ 2001 年 4 月] + [Visual Studio 6.0 ドキュメント] + [Visual C++ ドキュメント] + [リファレンス] + [Microsoft Foundation Classe リファレンス] + [Microsoft Foundation Class ライブラリ] + [MFC テクニカル ノート] + [テクニカル ノート 59: MFC の MBCS/Unicode 変換マクロの使用] BSTR sConvertFile = L"abc.txt"; USES_CONVERSION; char* sAscConvertFile = W2A(sConvertFile);
その他の回答 (1)
- ranx
- ベストアンサー率24% (357/1463)
ASCIIは7ビットのコードで128通りの文字(制御コード等を含む)を表します。 (8ビットに拡張したコードはいくつかありますが、本来のASCII 一方、UNICODEは16ビットのコードで、65536通りの文字を表す能力があります。 (実際にどれだけ使われていたかは知りません。) ところが、この中で、最初の128文字に限って言えば、配列はASCIIと全く同じ です。従って、16ビットから7ビットにキャストするだけでいいはずです。 char ascii_char; short unicode_char; if (unicode_char<128) ascii_char = (char)unicode_char; こんな答えを求めている質問なのか、「自信なし」ですが。
お礼
ご回答ありがとうございました。
お礼
解決しました ありがとうございました