電子書籍の厳選無料作品が豊富!

初めまして、こんにちは。

いきなりなのですが、C言語のプログラムをしていて聞きたいことがあります。
ユニコードのUTF_16で取得したデータを、UTF_8に変換するにはどうしたらいいですか??
色々自分なりに探してみたのですが見当たりませんでした。
知っている方がいればよろしくお願いします。

あとWindowsAPIとはなんでしょうか??友人にその中にあるよと言われたのですが、C言語(プログラム自体)を始めたばかりなのでよく理解できません。

みなさんよろしくお願いします。

A 回答 (2件)

UTF-16からUTF-8への変換、またはその逆は、単純な計算で行うことができます。

参考URLを見るなどして、自分で作ってみてください。

WideCharToMultiByteでもある程度のことはできますが、BOMの有無やサロゲートの対応可否など、細かな制御を行うには自作した方が便利です。
それに、WideCharToMultiByteでは環境に依存してしまいますが、自分で計算すれば環境には依存しません。

参考URL:http://seclan.dll.jp/ccutffaq.htm
    • good
    • 0
この回答へのお礼

返信ありがとうございます。
教えてくださったURLを参考にしてみます。
また聞いてしまうことがあると思いますが、その時はよろしくお願いします。

お礼日時:2007/10/06 13:52

WideCharToMultiByte 関数ですね?



WideCharToMultiByte(CP_UTF8,Unicode バッファ,-1,バッファ,バッファの長さ,0,0);

のような感じです。

・WindowsAPI について
検索すれば出ると思うのですが、簡潔に示します。

API=Application Programming Interface の略で
その名の通り、プログラミング用のインターフェイス(仲介役)です。
パソコンで何か動作をさせる際、画面表示やキー入力など本来は
ハードウェアデバイスに機械語で指令記述するのですが、
命令手順の敷地が広すぎたり、機種ごとに異なるなどの不都合を
なくすためシステムコールというあらかじめ手順が用意されている
サブルーチンを API関数が、簡単な引数で呼び出します。
さらに、文字列の計算、変換、など便宜的なものもあります。
簡単に言うと、OS の多数機能や体裁を簡単な関数呼び出しで実現
できるものです。
尚、VisualBasic で使われるコンポーネント(例えばファイルを開く
のダイアログ時に使用する、プロパティやメソッドを実装した
ポリモーフィズムオブジェクト)は、API の呼び出しを内部で行って
います。
    • good
    • 0
この回答へのお礼

返信ありがとうございます。

UTFの件、色々とやってみます!
わからなくなったら聞いてしまうかと思いますが、その時はまたよろしくお願いします。

APIは、プログラムを組んでいるときに使っている関数なんかが当てはまると考えればよろしいですか??例えば、レジストリからデータを取ってくるような関数ですか?

お礼日時:2007/10/06 13:59

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