C言語/Windowsでコードポイントを指定して文字列を生成する方法を教えてください。

具体的にはJIS X 0213に対応していない開発環境で、JIS X 0213の文字列データを
与えたく考えています。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2009/06/10 17:55:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:pigment No.1

回答回数95ベストアンサー獲得回数2

ポイント35pt

やったことはないのですが、、、

ちょっと調べてみました。

こちらのURL

http://mist.clueup.org/files/folders/study/entry248.aspx

で扱ってるPDFに文字コード問題について書かれています。

http://mist.clueup.org/files/folders/study/codeseek_12th_JISX021...

PDF内で記述されているUniscribeのサンプルコードがあるURLは現在下記に変更されているようです。

http://www.catch22.net/tuts/neatpad/14


しかし、面倒な話ですね、

いったいWindowsはどれだけ文字コードを増やすつもりなのだろうか

MultiByteToWideCharで、UNICODE対応するのも一苦労なのに・・・

しかしながら、Meadowはすでに対応しているとのことで、さすがだなぁと思いました。

id:my_redo_log

回答ありがとうございます。ドキュメントを読みました。

コードポイントを指定して文字列を生成する明示的なAPIのようなものはなく、

内部表現的にwchar_t = UTF-16なので、wchar_tとしてバイナリデータを作成すれば

文字列が得られるという整理になりますかね。

2009/06/04 09:39:21
id:pyopyopyo No.2

回答回数377ベストアンサー獲得回数98

ポイント35pt

iconv というライブラリを使われては如何でしょう?

iconvはlinuxなどのUNIXで広く利用されている LGPL のライブラリで、

windows用のDLLも以下のURLで公開されています。

http://www.kaoriya.net/

実際のプログラム例は、以下のURLをご覧下さい

http://ja.wikipedia.org/wiki/Iconv

  • id:pigment
    そのようですね、Vistaでは、完全にUNICODE≒UTF-16で対応
    WindowsSDKのVista対応版を使うってことのようです。
    が、バイナリとかじゃなくて、ファイルへテキストとして出力だと思います。
    ただし、文字コードはUNICODEってことです。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません