初始化提交
This commit is contained in:
105
arduino-cli/libraries/rBASE64/README.adoc
Normal file
105
arduino-cli/libraries/rBASE64/README.adoc
Normal file
@@ -0,0 +1,105 @@
|
||||
= rBASE64 Library for Arduino =
|
||||
|
||||
Real Base64 library is a speed optimized flexible implementations of BASE64
|
||||
Encoding and Decoding logic.
|
||||
|
||||
There are native as well as object oriented functions.
|
||||
|
||||
Here is the List of the Native Functions for those who want more Control:
|
||||
|
||||
- `size_t rbase64_encode(char *output, char *input, size_t inputLen)`
|
||||
|
||||
This function helps to Encode the Stream of Bytes provided at the *input* to *output*
|
||||
User needs to ensure that that the Output buffer is adequacy sized.
|
||||
|
||||
- `size_t rbase64_decode(char *output, char *input, size_t inputLen)`
|
||||
|
||||
This function helps to Decode the Stream ob Bytes provided at the *input* to *output*
|
||||
User needs to ensure that that the Output buffer is adequacy sized.
|
||||
|
||||
- `size_t rbase64_enc_len(size_t inputLen)`
|
||||
|
||||
This function can be used to ascertain the maximum size of buffer needed to accommodate
|
||||
the converted BASE64 output
|
||||
|
||||
- `size_t rbase64_dec_len(char *input, size_t inputLen)`
|
||||
|
||||
This function can be used to find out the maximum size of the buffer needed to accommodate
|
||||
the converted original string from BASE64
|
||||
|
||||
|
||||
Here is the List of the OO Function in `rbase64` class:
|
||||
|
||||
- `String rBASE64::encode(uint8_t *data, size_t length)` - For Direct byte Stream
|
||||
|
||||
- `String rBASE64::encode(char *data)` - For NULL Terminated character Array as shown in the **Example Below**
|
||||
|
||||
- `String rBASE64::encode(String text)` - String containing the source
|
||||
|
||||
Function to Convert into BASE64 encoded string else returns the string `"-FAIL"`
|
||||
|
||||
- `String rBASE64::decode(uint8_t *data, size_t length)` - For Direct byte Stream
|
||||
|
||||
- `String rBASE64::decode(char *data)` - For NULL Terminated character Array as shown in the **Example Below**
|
||||
|
||||
- `String rBASE64::decode(String text)` - String containing the source
|
||||
|
||||
Function to Convert back from BASE64 encoding else returns the string `"-FAIL"`
|
||||
|
||||
|
||||
== Example ==
|
||||
|
||||
```arduino
|
||||
#include <rBase64.h>
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
Serial.println(rbase64.encode("Hello There, I am doing Good."));
|
||||
Serial.println(rbase64.decode("SGVsbG8gVGhlcmUsIEkgYW0gZG9pbmcgR29vZC4="));
|
||||
delay(2000);
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
=== Tip : How to test base64 in Python ===
|
||||
|
||||
At the Python terminal prompt (get this by executing `python.exe` on *Windows* or `python` on *Linux* terminal) :
|
||||
|
||||
```python
|
||||
>>> import base64
|
||||
>>> base64.b64encode("Hello There, I am doing Good.")
|
||||
'SGVsbG8gVGhlcmUsIEkgYW0gZG9pbmcgR29vZC4='
|
||||
>>> base64.b64decode("SGVsbG8gVGhlcmUsIEkgYW0gZG9pbmcgR29vZC4=")
|
||||
'Hello There, I am doing Good.'
|
||||
>>>
|
||||
```
|
||||
|
||||
This way one can also verify other strings.
|
||||
|
||||
|
||||
=== Dependencies ===
|
||||
WString Library
|
||||
Thread Safe: No
|
||||
Extendable: Yes
|
||||
|
||||
|
||||
=== Limitations ===
|
||||
|
||||
==== OO Implementation Limits:
|
||||
- Can't take Encodeing strings more than "70 Characters".
|
||||
- Can't Decode the BASE64 strings beyond "100 Characters".
|
||||
- Memory usage is approximately 280Bytes in RAM.
|
||||
|
||||
==== The Native Implementation has no such Limiations.
|
||||
|
||||
For more information about this library please view the code at
|
||||
http://github.com/boseji/rBASE64
|
||||
|
||||
|
||||
== License ==
|
||||
|
||||
Released Under creative commons license 3.0: Attribution-ShareAlike CC BY-SA
|
||||
|
||||
Reference in New Issue
Block a user