• ベストアンサー

C++でURLのエンコード

文字列をShift-JisとUTF-8とEUCにエンコードしたいのですが、エンコードしてくれる関数とかC++でないですかね? やっぱり1バイトずつ調べて自分で変換するしかないのでしょうか? どなたかご教授お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

IBMのライブラリ: ICU はいかがでしょうか。 100種以上の文字コードの相互変換をサポートしています。

参考URL:
http://www-306.ibm.com/software/globalization/icu/index.jsp
wao-
質問者

お礼

ご返答ありがとうございます。 参考サイト読んでみます。

wao-
質問者

補足

質問者です。 ICUを使ってShift-jisで書かれた文字列をeuc-jpに変換したりはできました。ありがとうございます。 でですね、 "abc エンコード"という(Shift-jis?)文字列を ・Shift-jisで"abc+%83G%83%93%83R%81%5B%83h"、 ・euc-jpで"abc+%A5%A8%A5%F3%A5%B3%A1%BC%A5%C9"、 ・UTF-8で"abc+%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%89"、 のような感じにURL用にエンコードしたいのですが、どうしたらいいのか困ってます。 http://www.geocities.co.jp/SilkRoad/4511/vb/urlenc_c.htmみたいにするのが一般的ですかね?

その他の回答 (1)

  • nitscape
  • ベストアンサー率30% (275/909)
回答No.2

プラットフォームなどによって異なりますが、WindowsであればIMultilanguageで行うことが出来ます。

wao-
質問者

お礼

アドバイスありがとうございます。

wao-
質問者

補足

ANo.1のepistemeさんのICUとURLエンコード方法のWebページをもとに、S-JISとEUCとUTF-8にURLエンコードすることが出来ました。 IMultilanguageのアドバイスも大変助かりました。今回はICUで出来たのでICUを使います。 ありがとうございました。

関連するQ&A

専門家に質問してみよう