DWC_Base64Decode

構文

#include <dwc.h>
int DWC_Base64Decode(const char *src,
                     const unsigned long srclen,
                     char *dst,
                     const unsigned long dstlen);

引数

src 変換元Base64文字列へのポインタ
srclen 変換元Base64文字列の長さ
dst 変換後のデータを格納するバッファへのポインタ
dstlen 変換後のデータを格納するバッファのバイトサイズ

返り値

-1 変換失敗。
変換後のデータサイズの理論値が引数dstlenの値を越えているか、引数srclenが4の倍数でありません。
それ以外 変換後のデータのバイトサイズ

説明

srcで指定されたBase64文字列をデコードし、データを出力します。

dstにNULLを指定すれば、実際には変換は行わず、Base64文字列に異常はないものとして計算された変換後のデータサイズを返り値として返します。
実際の変換はこのデータサイズの理論値を元に行われるため、Base64文字列に異常があっても変換後のデータサイズがこの理論値を越えることはありません。

本関数は特殊なBase64を使用しており、通常使用される'+'、'/'、'='がそれぞれ'.'、'-'、'*'に置き換えられています。
本関数でデコードできるのは、DWC_Base64Encode関数を用いてエンコードしたBase64文字列になります。

参照

DWC_Base64Encode

履歴

5.1pr2より前の変更履歴はこちら