人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

C言語で、UTF-8 の文字列を Shift_JIS に変換するソースが
どこかに転がっていたりはしませんでしょうか。

商用開発環境の用意された関数ではなく、そのままコピペして使ってもほぼ差し支えなさそうなソースなり説明なりがあると大変うれしいです。

●質問者: 猫並
●カテゴリ:コンピュータ インターネット
✍キーワード:C言語 Shift_JIS UTF-8 コピペ ソース
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● mz2500
●25ポイント ベストアンサー

libiconvではダメですか?

http://www.gnu.org/software/libiconv/

http://gnuwin32.sourceforge.net/packages/libiconv.htm

◎質問者からの返答

ありがとうございます。

僕の想定していたものに最も近かったです。

FreeBSDだとこれがほぼ必須のportsだったようですね。


2 ● kurukuru-neko
●30ポイント

WindowsだとMultiByteToWideChar

Linuxだとiconv

を使う。

http://f1.aaa.livedoor.jp/~pointc/log1243.html

http://f4.aaa.livedoor.jp/~pointc/No.24005.html

http://q.hatena.ne.jp/1136691036

http://www.microsoft.com/japan/developer/library/jpwinpf/_win32_...

◎質問者からの返答

想定はUNIX環境でのやり方でしたが、Windows環境のことも教えていただいてありがとうございます。たいへん勉強になりました。


3 ● villain
●25ポイント

環境がWinOSでWin98以降ならWideCharToMultiByte()API関数で

変換できると思います。

ただし、Win95ではUTF-8->SJIS変換はできません

(Win95登場時にはUTF-8が存在しなかったため?)


Win95でUTF-8->SJIS変換は文字列を UTF-8 に変換にすればできるかも?

(言語がVBな上、UTF-8への変換なので逆ですが)


UNIX/LinuxなどWin以外の環境(MS-DOSなども含)の場合は別の

方法を探すしかないかも。

◎質問者からの返答

なるほどありがとうございます。基本は WideCharToMultiByte←→MultiByteToWideChar で相互に変換がきくみたいですね。参考になりました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ