mirror of
https://gitee.com/beecue/fastbee.git
synced 2025-12-18 00:45:55 +08:00
85 lines
2.8 KiB
C
85 lines
2.8 KiB
C
|
||
/*********************************************************************
|
||
* function: Base64编码和解码
|
||
* board: esp8266 core for arduino v3.0.2
|
||
* library: PubSubClient2.8.0 & ArduinoJson6.19.1 & OneButton2.0.4
|
||
* source: https://gitee.com/kerwincui/wumei-smart
|
||
* copyright: Copyright (c) 2013 Adam Rudd.
|
||
********************************************************************/
|
||
|
||
#ifndef _BASE64_H
|
||
#define _BASE64_H
|
||
|
||
/* b64_alphabet:
|
||
* Description: Base64 alphabet table, a mapping between integers
|
||
* and base64 digits
|
||
* Notes: This is an extern here but is defined in Base64.c
|
||
*/
|
||
extern const char b64_alphabet[];
|
||
|
||
/* base64_encode:
|
||
* Description:
|
||
* Encode a string of characters as base64
|
||
* Parameters:
|
||
* output: the output buffer for the encoding, stores the encoded string
|
||
* input: the input buffer for the encoding, stores the binary to be encoded
|
||
* inputLen: the length of the input buffer, in bytes
|
||
* Return value:
|
||
* Returns the length of the encoded string
|
||
* Requirements:
|
||
* 1. output must not be null or empty
|
||
* 2. input must not be null
|
||
* 3. inputLen must be greater than or equal to 0
|
||
*/
|
||
int base64_encode(char *output, char *input, int inputLen);
|
||
|
||
/* base64_decode:
|
||
* Description:
|
||
* Decode a base64 encoded string into bytes
|
||
* Parameters:
|
||
* output: the output buffer for the decoding,
|
||
* stores the decoded binary
|
||
* input: the input buffer for the decoding,
|
||
* stores the base64 string to be decoded
|
||
* inputLen: the length of the input buffer, in bytes
|
||
* Return value:
|
||
* Returns the length of the decoded string
|
||
* Requirements:
|
||
* 1. output must not be null or empty
|
||
* 2. input must not be null
|
||
* 3. inputLen must be greater than or equal to 0
|
||
*/
|
||
int base64_decode(char *output, char *input, int inputLen);
|
||
|
||
/* base64_enc_len:
|
||
* Description:
|
||
* Returns the length of a base64 encoded string whose decoded
|
||
* form is inputLen bytes long
|
||
* Parameters:
|
||
* inputLen: the length of the decoded string
|
||
* Return value:
|
||
* The length of a base64 encoded string whose decoded form
|
||
* is inputLen bytes long
|
||
* Requirements:
|
||
* None
|
||
*/
|
||
int base64_enc_len(int inputLen);
|
||
|
||
/* base64_dec_len:
|
||
* Description:
|
||
* Returns the length of the decoded form of a
|
||
* base64 encoded string
|
||
* Parameters:
|
||
* input: the base64 encoded string to be measured
|
||
* inputLen: the length of the base64 encoded string
|
||
* Return value:
|
||
* Returns the length of the decoded form of a
|
||
* base64 encoded string
|
||
* Requirements:
|
||
* 1. input must not be null
|
||
* 2. input must be greater than or equal to zero
|
||
*/
|
||
int base64_dec_len(char *input, int inputLen);
|
||
|
||
#endif // _BASE64_H
|