[解決済み】JavaScriptで文字列をBase64にエンコードするにはどうすればいいですか?
2022-03-23 08:34:41
質問
PNG画像をBase64文字列にエンコードするPHPスクリプトを持っています。
同じことをJavaScriptで行いたいのですが、どうすればいいですか?ファイルを開く方法は知っているが、エンコードをどうすればいいのかわからない。バイナリーデータを扱うのに慣れていないんだ。
どのように解決するのですか?
を使用することができます。
btoa()
と
atob()
を使用して、base64エンコーディングとの間で変換します。
これらの関数が何を受けとり、何を返すかについて、コメント欄で混乱があるようなので、...
-
btoa()
は、各文字が8ビットバイトを表す「文字列」を受け付けます。もし、8ビットで表現できない文字を含む文字列を渡すと、その文字列は はおそらく壊れるでしょう。 . これは問題ない もし の場合、文字列をバイト配列として扱いますが、それ以外のことをしようとすると、まずエンコードする必要があります。 -
atob()
は、各文字が8ビットバイトを表す "文字列 "を返します。0
と0xff
. これは ではない おそらく、この関数を使うのであれば、テキストではなくバイナリデータを扱うことを想定しているのでしょう。
こちらもご覧ください。
ここのコメントはほとんど古くなっています。あなたはおそらく、両方の
btoa()
と
atob()
ただし、本当に時代遅れのブラウザをサポートしている場合は除きます。
ここで確認してください。
関連
-
[解決済み】webpack-dev-serverにリモート接続すると、「Invalid Host header」というメッセージが表示されます。
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み] JavaScriptで空文字列/未定義文字列/null文字列をチェックするにはどうすればよいですか?
-
[解決済み] JavaScriptで文字列をbooleanに変換するにはどうしたらいいですか?
-
[解決済み] JavaScriptでURLをエンコードする?
-
[解決済み] jQueryを使用しない$(document).ready相当
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】TypeError: $(...).DataTable は関数ではありません。
-
[解決済み】JavaScriptで':'(コロン)は何をするのか?
-
[解決済み】Angular JS Uncaught Error。[インジェクター:モジュラー]。
-
[解決済み】JavaScript "Uncaught TypeError: object is not a function" 連想性の質問
-
[解決済み】「Uncaught TypeError: Chromeで "Illegal invocation "が発生する。
-
[解決済み】SyntaxError: JSON の位置 1 に予期しないトークン o があります。
-
[解決済み】npm install --legacy-peer-deps は具体的に何をするのですか?どんなときに推奨されるのか/どんな使用例が考えられるのか?
-
[解決済み】 Uncaught Error: Invariant Violation: 解決済み】 Uncaught Error: Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function but got: object.
-
[解決済み】FirefoxでGoogle Maps V3をリモートで使用すると「googleが定義されていません」と表示される。
-
[解決済み】クライアントサイドのjavascriptでBase64エンコードとデコードを行う【重複あり