• ベストアンサー

画像のBease64へのエンコード、デコード

C++で画像をBase64へエンコードし、そのデータをまた、復元をさせるようにしたいと想います。 VC.NETでC#を使用してはできたのですが、BCBを使用したいので、C++で行いたいと思います。 何か、関数のようなものはないのでしょうか? よろしくお願いします。

  • Caya
  • お礼率78% (255/325)

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

  • ベストアンサー
  • passepied
  • ベストアンサー率50% (18/36)
回答No.1

標準のライブラリにはBase64のエンコーディングに関するものは含まれていないと思います。 したがって、誰かが作ってくれたライブラリを使うか自分で実装することになると思います。 「Base64 C++ Library」などのキーワードで検索すれば見つかります。また、Base64は簡単なので、作られてみてもよいと思います。

Caya
質問者

お礼

回答ありがとうございます。 標準ではないのですね。 勧めていただいたように、ライブラリを作成してみたいと思います。

Caya
質問者

補足

これから検索してみますが、 もしよろしければ、ライブラリの作成のサンプル等の情報のあるHPを 紹介いただけないでしょうか?

関連するQ&A

  • エンコードとデコードについて

    世の中でエンコードとデコードという言葉が幅広く使用されています。 (音楽ではMP3⇔WAVの変換等) PC等で使用する機械語から離れてしまうこと(符号化)をエンコード、近づく(復号化)することをデコードと考えていいのでしょうか。 例として、PIC用プログラムをC言語で作成してコンパイルすることもデコードとなるのでしょうか。 以上です。よろしくお願いします。

  • C言語でBASE64のエンコードのプログラミング

    現在、C言語(OS:Linux)でSMTPのメールを送るプログラムを作っています。 しかし、送信のところまでは完成したのですが、日本語では送れません。 そこでContent-transfer-encodingをBase64にしようと考えています。 インターネットや本でいろいろ調べましたが、VCでのソースしか載っていなくて、 それを改良しても出来ない状況が続いています。 BASE64については理解していますが、プログラムが組めません。 どなたか、C言語(VCではないもの)でBASE64のエンコードのプログラミングのソースを 公開しているサイトを知りませんか。 また、ソースを公開してくれる人がいましたら、教えてください。 よろしくお願いします。

  • CADやドロー系のソフトのように

    CADやドロー系のソフトのように 線を選択できるようにするには どのような関数または どのようにデータを扱えばいいのでしょうか? VC++でもBCBでもいいのでよろしくお願いいたします

  • Base64でエンコードした後の文字列が思った通りになりません。

    Base64でエンコードした後の文字列が思った通りになりません。 C言語とPHPの双方で、 ファイルをBase64でエンコード・デコードしたいと考えています。 PHPにはbase64_encode関数がありますのでこれを利用しますが、 C言語には無いようなので関数を自作することにしました。 以下を参考に、fopen関数を使用して画像をバイナリ形式で読み込み、 エンコードすると以下の文字列が出力されました。 http://www.dokidoki.ne.jp/home2/usui/itmemo/020.html /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAPAAA/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoKDBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgABgAHAwERAAIRAQMRAf/EAFMAAQAAAAAAAAAAAAAAAAAAAAYBAQAAAAAAAAAAAAAAAAAAAAAQAAIDAAIDAAAAAAAAAAAAAAIEAQMFFAYAEhMRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AGiejln2xpJzNeq6DVyCwNJWNrnWafxQlgaSoaNuXJI3IYgVgtH0YkjIic8D/9k= しかし、PHPのbase64_encode関数で同様の画像をエンコードすると、 以下の文字列が出力されました。 <?php  $data = base64_encode("\xFF\xD9\xFF\xD8".file_get_contents('sample.jpg'));  echo $data; ?> /9n/2P/Y/+AAEEpGSUYAAQIAAGQAZAAA/+wAEUR1Y2t5AAEABAAAADwAAP/uAA5BZG9iZQBkwAAAAAH/2wCEAAYEBAQFBAYFBQYJBgUGCQsIBgYICwwKCgsKCgwQDAwMDAwMEAwODxAPDgwTExQUExMcGxsbHB8fHx8fHx8fHx8BBwcHDQwNGBAQGBoVERUaHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fH//AABEIAAYABwMBEQACEQEDEQH/xABTAAEAAAAAAAAAAAAAAAAAAAAGAQEAAAAAAAAAAAAAAAAAAAAAEAACAwACAwAAAAAAAAAAAAACBAEDBRQGABITEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwBono5Z9saSczXqug1cgsDSVja51mn8UJYGkqGjblySNyGIFYLR9GJIyInPA//Z どう見ても双方の結果が異なってしまうのですが、原因がわかりません・・・。 何か形式が異なるのでしょうか? もし原因がお分かりになる方がいらっしゃれば、教えていただければ助かります。 よろしくお願いします。

  • VC.NET(C#)のクラスライブラリをBCB(C++)で使用したい

    タイトルにあるように、 VC.NET(C#)のクラスライブラリを作成したのですが、 BCB(C++)での使用方法がわかりません。 BCBでプロジェクトに追加で、Dllを追加するのだろうと言うのは わかったのですが、 ソース上で、Dllをどのように呼び出したらよいのかわかりません。 Dllをプロジェクトに追加する以前に、何かしなくてはならないことがあるのでしょうか? よろしくお願いいたします。

  • 画像データか判断する手段

    var data = base64エンコードされた文字列; 正常系では画像データをbase64エンコードしたデータを渡そうと思ってますが、 念のため渡されたデータが画像データなのかチェックをjavascriptでしたいと考えてます。、 しかしその手段がわかりません。 サーバサイドにデータを渡せばなんとか判断できるのですが、、、 javascript(+HTML)にて判断するアイディアを教えて下さい。

  • 画像・動画・音声などのデータのエンコードについて調べていて行き詰まりま

    画像・動画・音声などのデータのエンコードについて調べていて行き詰まりました。 エンコードという言葉には、ある形式のデジタルデータを、別の形式のデジタルデータに変換するという意味がありますよね? また、アナログデータ、例えば画像・動画(光)や音声(空気の振動)をコンピュータで扱えるようにデジタルデータ化することもエンコードというのですよね? ということは、取り込まれたアナログデータは、まず無圧縮の膨大なデジタルデータ(ビットマップ形式やWAVE形式)にエンコードされ、そののち設定してある保存形式に(例えばJPGやMP3などの圧縮形式)に自動的にさらにエンコードされて保存される、つまりエンコードを二度経て保存されると理解していいのでしょうか?(これだとデコードの場合も二度ですよね) 初めに取り込まれる無圧縮の膨大なデジタルデータというのは、単純に無圧縮であるビットマップ形式やWAVE形式であると考えるのは間違いですか? 疎い分野なので、教えていただけたら嬉しいです。

  • JavaでBase64をエンコード・デコード(長めです)

    初めまして。今,Javaの勉強をしています。 Base64のエンコード・デコードを行うプログラムをコマンドプロンプトでコンパイルまでは成功するのですが,いざ実行してみると >java Base64 Exception in thread "main" java.lang.NoClassDefFoundError: Base64 (wrong name: d escriber/Base64) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) というエラーがでます。 プログラムは下記のサイトを参考にさせていただきました。 http://www.ki.rim.or.jp/~kuro/Java/Etc/Etc-03-SunMisc.html クラス名とファイル名は同じはずなのですが…。 実行方法が悪いのかどうなのかわかりませんが,よろしければ指摘お願いします 。 わかりにくい文章ですみません。。

    • ベストアンサー
    • Java
  • EXCELの関数でエンコードをしたい

    MS-EXCELの関数を使ってsjisに エンコードすることはできますか? 参考: ウエダ をs-jisにエンコードすると、 %83E%83G%83_ となります。 エンコードフォーム(http://home.kendomo.net/board/decode/decode.php )使用 宜しくお願い致します。

  • VC2005にて無線LAN通信

    VC2005にて無線LANを使用してデータの送受信を行いたいのですが ネットで調べてみたところ中々それらしい物が見つかりませんでした。 OSはXP、プログラムはVC2005でC++で組んでおります。 どなたかネットワークプログラムに詳しく、どういう関数を使用すればいいのか教えていただけないでしょうか? よろしくお願いします。