char set/encoding of C++ source code

そういや C++ での非 ascii character の扱いはどうなってんのかなと思ってちょっと試してみたんだけど相変わらずダメっぽい。やりようがあるのかもしれないけど試して見た限りでは VC++ 2008 Express Edition が cp932 固定 ( utf-8 だと通る文字と通らない文字がある & ucs2le は受け付けない ) で MinGW gcc 4.4.0 が cp932 を受け付けない ( utf-8 は通る ) ので多分ダメな気がする。いや多分どの文字集合や char encoding を受け付けるかというのは実装依存な領域だと思うのでダメじゃないんだろうけど使う側からしてみたら歓迎できる状況じゃない。

でまぁ ascii character のみでならいけるのかと思って以下のように書いてみたらどっちも通った。んーこれはこういうものと割り切るしかないのかな。

// main.cpp

#include <iostream>

using namespace std;

int main(const int argc, const char* argv[]) {
    // UCS-2 code points: あいうえお
    cout << "\u3042\u3044\u3046\u3048\u304a" << endl;
    return 0;
}