質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

2回答

2033閲覧

音声ファイルをbase64に変換する

despaine198

総合スコア7

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

0クリップ

投稿2020/07/10 16:25

バイナリファイル(音声ファイル)をbase64に変換する方法を考えていますが、調べたあたり全てうまくいきません。
どなたかAndroid(Java)で変換方法のコードを知っている方いらっしゃいませんか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2020/07/11 00:04 編集

> 調べたあたり全てうまくいきません。 何を調べて、どう、うまくいかなかったのでしょうか。現状のご質問内容ですとBASE64の仕様は理解しているのか、Javaで扱うことはできるか、Android特有の問題で扱えなかったのか、等、どこで問題が生じたのかまったく分かりません。その辺を明らかにすれば有効な回答を得られると思います。なおBASE64を扱う上で、JavaではBase64クラスが使えます。https://docs.oracle.com/javase/jp/8/docs/api/java/util/Base64.html しかしながらこちらで確認したところでは、AndroidではAPIレベル26以上(Android 8.0以上)でないと使えないようです。それでもBASE64を自力で実装することになったとしても、BASE64の仕様を理解し、Javaも理解できているのであればそれほど難しいことではないです。
退会済みユーザー

退会済みユーザー

2020/07/11 00:07

@dodox86 1.4 以上なら自分で実装しないでもいけるのでは commons-codec
退会済みユーザー

退会済みユーザー

2020/07/11 00:09

質問者 とりあえず、バージョン番号(API LV)が記載されていない  よって適切な回答を得られない。(まあどうみても丸投げ状態の今だとどっちにしろ得られれない)
guest

回答2

0

JDKではなく、Android SDKで提供されているandroid.util.Base64は利用できないでしょうか?APIレベル8で追加されたAPIなので、ほとんどの環境で利用できるはずです。

buffというbyte配列にバイナリファイルのデータが入っているならば、

java

1import android.util.Base64; 2 3(中略) 4 5 String enc = Base64.encodeToString(buff, 0, buff.length, Base64.DEFAULT);

でできませんか。

Base64 | Android Developers

投稿2020/07/11 08:27

編集2020/07/11 08:31
keicha_hrs

総合スコア6768

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

despaine198

2020/07/11 15:29

回答ありがとうございます。私としてもこのコードを参考に試行錯誤しましたが、encodeToStringとlength、DEFAULT部分にエラーが出てうまくいきません。エラー文がしっかり出てこないので対策に困っています。
keicha_hrs

2020/07/12 05:26

encodeToStringとDEFAULTにエラーが出ることについて、import文を正しく記述されているでしょうか。java.util.Base64となっていませんか?意味がわからなければ、 android.util.Base64.encodeToString(buff, 0, length, android.util.Base64.DEFAULT); のように完全修飾名で記述してもエラーになるでしょうか? それからlengthの部分については例として示したものなので、この部分は質問者様がご自身のコードで音声ファイルを入れたデータ配列の長さを表す変数などを記述してください。
despaine198

2020/07/12 08:09

ありがとうございます。 なんとか解決できましたが、buffの部分はどうなるんでしょうか?
despaine198

2020/07/12 08:25

buffはどういった型で宣言すれば良いですか?
keicha_hrs

2020/07/12 09:46

android.util.Base64のリファレンスへのリンクを示したのですから、それを読んでいただきたいです。「かなり調べた」とおっしゃっているのですから、このページも一読はしてください。また、ご自身でどこまでプログラムを作成しているのですか?音声ファイルを読み込むという部分はできあがっているのでしょうか。読み込んだデータをbyte[]型の配列に格納して、その配列変数をbuffにあたる場所に与えてください。
guest

0

「java base64」でぐぐると、解説が出てきますんで一通り読んでみてはいかがでしょうか

投稿2020/07/10 22:34

y_waiwai

総合スコア87784

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

despaine198

2020/07/11 01:28

もうそれはかなり前から調べています。
y_waiwai

2020/07/11 09:57

なにを調べたのか、というのを質問文に書きませんか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問