ccs=UTF-32LE

UTF-32LEもできるが、ちょっといろいろめんどくさい。

C言語のワイド文字入出力 | 雑記帳

fopen.cで、

こう書く。
バイナリモードで開くのと、BOMも長くなるし、fwriteで書き込むのがポイント。

開くと
開くと

開くと、

認識できない
認識できない

認識できない。

サクラエディタなら、文字コードセットを12000のUTF-32LEにすればいける。
サクラエディタなら、文字コードセットを12000のUTF-32LEにすればいける。

サクラエディタなら、文字コードセットを12000のUTF-32LEにすればいける。

ほれ
ほれ

ほれ。

Sample/c/fopen/ccs_UTF-32LE/src/fopen at master · bg1bgst333/Sample · GitHub

ccs=UTF-16BE

ccsにUTF-16BEも指定できる。

C言語のワイド文字入出力 | 雑記帳

fopen.cで、

こう書く。

test.txtを開くと
test.txtを開くと

test.txtを開くと、

文字化けしているが
文字化けしているが

文字化けしているが、

最近のメモ帳はUTF-16BEにも対応してるので、確認できる。
最近のメモ帳はUTF-16BEにも対応してるので、確認できる。

最近のメモ帳は、UTF-16BEにも対応してるので、確認できる。

Sample/c/fopen/ccs_UTF-16BE/src/fopen at master · bg1bgst333/Sample · GitHub

ccs=UTF-16LE

これまでワイド文字出力と言いながら、ワイド文字テキストファイルとして出力できていなかったが、ccsにUTF-16LEも指定できるので、これでWindowsUnicodeテキストファイルとして出力する。

C言語のワイド文字入出力 | 雑記帳

fopen.cで、

こう書く。
始めにUTF-16LEのBOMを書き、一旦閉じてから、再び開いて今度は本文を書く。

test.txtを開くと
test.txtを開くと

test.txtを開くと、

ロケール入ってないので文字化け
ロケール入ってないので文字化け

ロケール入ってないので文字化け。

しかし最近のWindowsのメモ帳やサクラエディタだとUTF-16LEとわかる。
しかし最近のWindowsのメモ帳やサクラエディタだとUTF-16LEとわかる。

しかし最近のWindowsのメモ帳やサクラエディタだとUTF-16LEとわかる。

Sample/c/fopen/ccs_UTF-16LE/src/fopen at master · bg1bgst333/Sample · GitHub

ccs=EUC-JP

ccs=EUC-JPにすると、EUC-JPで書き出される。

C言語のワイド文字入出力 | 雑記帳

fopen.cで、

こう書く。
test1.txtを開くと、

UTF-8になっているとする。
UTF-8になっているとする。

UTF-8になっているとする。

実行すると、test2.txtが生成されて、
実行すると、test2.txtが生成されて、

実行すると、test2.txtが生成されて、

そちらはEUC-JP
そちらはEUC-JP

そちらはEUC-JP。

Sample/c/fopen/ccs_EUC-JP/src/fopen at master · bg1bgst333/Sample · GitHub