1. ホーム
  2. base64

[解決済み】文字列がBase64エンコードされているかどうかを確認する方法

2022-04-04 06:56:21

質問

Base64でエンコードされた文字列をデコードし、データベースに格納したいのですが、どうすればよいですか?入力がBase64でエンコードされていない場合、エラーを投げる必要がある。

文字列がBase64エンコードされているかどうかを確認するにはどうすればよいですか?

どのように解決するのですか?

以下の正規表現を使用すると、文字列が有効なBase64エンコードを構成しているかどうかを確認できます。

^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)?$

base64エンコーディングの場合、文字集合は [A-Z, a-z, 0-9, and + /] . 残りの長さが 4 未満の場合は、文字列の後ろに '=' 文字が含まれます。

^([A-Za-z0-9+/]{4})* は、文字列の先頭が0個以上のbase64グループであることを意味します。

([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$ は、文字列が3つの形式のうちの1つで終わることを意味します。 [A-Za-z0-9+/]{4} , [A-Za-z0-9+/]{3}= または [A-Za-z0-9+/]{2}== .