- ベストアンサー
C++でURLのエンコード
文字列をShift-JisとUTF-8とEUCにエンコードしたいのですが、エンコードしてくれる関数とかC++でないですかね? やっぱり1バイトずつ調べて自分で変換するしかないのでしょうか? どなたかご教授お願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
IBMのライブラリ: ICU はいかがでしょうか。 100種以上の文字コードの相互変換をサポートしています。
その他の回答 (1)
- nitscape
- ベストアンサー率30% (275/909)
回答No.2
プラットフォームなどによって異なりますが、WindowsであればIMultilanguageで行うことが出来ます。
質問者
お礼
アドバイスありがとうございます。
質問者
補足
ANo.1のepistemeさんのICUとURLエンコード方法のWebページをもとに、S-JISとEUCとUTF-8にURLエンコードすることが出来ました。 IMultilanguageのアドバイスも大変助かりました。今回はICUで出来たのでICUを使います。 ありがとうございました。
お礼
ご返答ありがとうございます。 参考サイト読んでみます。
補足
質問者です。 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みたいにするのが一般的ですかね?