• 締切済み

文字コードの変換プログラム

SJIS,JIS,EUC,Unicodの変換プログラムを作っています。 SJISを基調とし、それ以外とコード組む事で実現させていますが、 SJIS-Unicodeの変換がどのように行えばよいのかわかりません。 サイト等で対応表なども参考にしているのですが、 どこでどう使えばいいのか見当がつきません。 アドバイスお願いします。

みんなの回答

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.5

> stdio.hは「ヘッダーファイル」ではなく「ヘッダ」です。 > ヘッダはファイルで実装されているとは限りません。 それで? 言語弁護士を気取っての指摘だけなら止めてください。

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.4

> stdio.h そのものは「ヘッダーファイル」ですね。 stdio.hは「ヘッダーファイル」ではなく「ヘッダ」です。 ヘッダはファイルで実装されているとは限りません。

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.3

試用する環境の情報がないのであれですが、UNIX系の環境なら iconv、 WindowsならAPI (MultiByteToWideChar/WideCharToMultiByte)が 別途インストールする手間が(たぶん)なくていいのではないでしょうか。 複数の環境で共通にというとちとあれですが。 Manpage of ICONV http://www.linux.or.jp/JM/html/LDP_man-pages/man3/iconv.3.html MultiByteToWideChar 関数 http://msdn.microsoft.com/ja-jp/library/cc448053.aspx WideCharToMultiByte 関数 http://msdn.microsoft.com/ja-jp/library/cc448089.aspx > ライブラリ(stdio.hみたいの??)とかAPIとかよくわからないです・・ > 最初はふぁいる操作でできないかなーと考えていましたが・・ > C言語は初心者に1本毛が生えたくらいです。 stdio.h そのものは「ヘッダーファイル」ですね。 printf とか fread みたいに、変換をしてくれる関数があるってことです。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

Shift_jis と Unicode の変換は頑張って表を引くしかないはずです. 例えば unsigned int sjis2unicode(unsigned int sjis) { static const unsigned int unicode[] = { .... Shift_jis の各コードに対応する Unicode の文字コードを並べる .... }; return unicode[sjis]; } のような感じかな. まあ, #1 と同じくライブラリを使うことをお勧めします. 何がいいんだろ. ICU とかかなぁ?

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

自力で全部やるなら、自分で対応表を作る必要があります。 元にできるデータは unicode.org にありますから、がんばってください。 つか、何かのライブラリとかAPIとか使ったほうがいいとも思いますけどね。

hardtechno
質問者

補足

サイトから対応表は貰って来たのですが・・ ライブラリ(stdio.hみたいの??)とかAPIとかよくわからないです・・ 最初はふぁいる操作でできないかなーと考えていましたが・・ C言語は初心者に1本毛が生えたくらいです。

関連するQ&A