1つだけ過去を変えられるとしたら?

すごく漠然とした質問でもうしわけないのですが
UNICODEからASCIIへと変換するようなやり方 または 関数って
C++であるのでしょうか
初心者なもので よろしくおねがいします。

A 回答 (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);
    • good
    • 0
この回答へのお礼

解決しました ありがとうございました

お礼日時:2001/10/22 16:05

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;

こんな答えを求めている質問なのか、「自信なし」ですが。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

お礼日時:2001/10/22 16:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!