Base64 でエンコードされた文字列をデコードして、データベースに保存したいです。入力が Base64 でエンコードされていない場合は、エラーをスローする必要があります。
文字列が Base64 でエンコードされているかどうかを確認するにはどうすればよいですか?
ベストアンサー1
次の正規表現を使用して、文字列が有効な 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}==)$
は、文字列が[A-Za-z0-9+/]{4}
、[A-Za-z0-9+/]{3}=
または の3 つの形式のいずれかで終わることを意味します[A-Za-z0-9+/]{2}==
。