MoreBeerMorePower

Power Platform中心だけど、ノーコード/ローコード系を書いてます。

マルチバイト文字対応のBase64 Encoder

以前作成したPower Appsで利用可能なBase64 Encoder/Decoderですが、日本語を含むマルチバイト文字に対応していないという課題がありました。

mofumofupower.hatenablog.com

Power Apps上でBase64エンコードできると、Office 365 Groupsコネクターを使ってGraph API のうち POSTリクエストをしないといけないようなケースで有効です。

ということで、日本語にも対応したBase64 encode関数をカスタム関数として公開しました。 以下からmsappファイルをダウンロードできます。

github.com

関数の中でやっていることは、まずASCIIキャラクターテーブル Char(1)~Char(127) に該当する文字とそれ以外に分けて、該当しなかった文字をEncodeUrl関数で16進数表記に変えます。それを2進数に変換し、最後にBase64に変換しています。

これによって英語だけでなく日本語を含むような文字列もBase64 stringに変換できるようになりました。

出力結果はネットによくあるBase64 Decoderで確認してみてください。