Я заметил, что пакет кодирования балерины не имеет метода для encodeBase64/decodeBase64, а имеет encodeBase64URL/decodeBase64URL.
когда я использую это и работаю с другими библиотеками кодирования base64, результаты не совпадают
Я заметил, что пакет кодирования балерины не имеет метода для encodeBase64/decodeBase64, а имеет encodeBase64URL/decodeBase64URL.
когда я использую это и работаю с другими библиотеками кодирования base64, результаты не совпадают
Кодировка base64 [1] и кодировка URL-адреса base64 [2] отличаются. Ballerina предоставляет API кодирования/декодирования base64 из самого языка. Вы можете использовать модуль ballerina/encoding
для кодирования/декодирования URL-адресов base64.
import ballerina/io;
public function main() {
string input = "Hello Ballerina!";
byte[] inputArr = input.toBytes();
string encodedString = inputArr.toBase64();
io:println(encodedString);
}
Пожалуйста, обратитесь к Crypto BBE [3] для получения дополнительных примеров.
[1] https://tools.ietf.org/html/rfc4648#section-4
[2] https://tools.ietf.org/html/rfc4648#section-5
[3] https://ballerina.io/v1-1/learn/by-example/crypto.html
[ОБНОВЛЕНИЕ] Пример кодирования/декодирования base64.
import ballerina/io;
import ballerina/lang.'array as arr;
import ballerina/lang.'string as str;
public function main() returns error? {
string input = "Hello Ballerina!";
byte[] inputArr = input.toBytes();
string encodedString = inputArr.toBase64();
io:println(encodedString);
byte[] decoded = check arr:fromBase64(encodedString);
string decodedString = check str:fromBytes(decoded);
io:println(decodedString);
}