我想在Flutter中将以下字符串编码为Base64Url,并在Dart服务器上解码。
"username:password"
我该怎么做呢?如何在Base64中实现?
fgw7neuy1#
dart:convert库包含Base64和Base64 Url的编码器和解码器。但是,它们编码和解码整数列表,因此对于字符串,您还需要使用UTF-8进行编码和解码。您可以将这两种编码与fuse结合使用,而不是单独进行。您需要具有以下导入:
dart:convert
fuse
import 'dart:convert';
String credentials = "username:password"; Codec<String, String> stringToBase64 = utf8.fuse(base64); String encoded = stringToBase64.encode(credentials); // dXNlcm5hbWU6cGFzc3dvcmQ= String decoded = stringToBase64.decode(encoded); // username:password
请注意,这相当于:
String encoded = base64.encode(utf8.encode(credentials)); // dXNlcm5hbWU6cGFzc3dvcmQ= String decoded = utf8.decode(base64.decode(encoded)); // username:password
String credentials = "username:password"; Codec<String, String> stringToBase64Url = utf8.fuse(base64Url); String encoded = stringToBase64Url.encode(credentials); // dXNlcm5hbWU6cGFzc3dvcmQ= String decoded = stringToBase64Url.decode(encoded); // username:password
同样,这相当于:
String encoded = base64Url.encode(utf8.encode(credentials)); // dXNlcm5hbWU6cGFzc3dvcmQ= String decoded = utf8.decode(base64Url.decode(encoded)); // username:password
f5emj3cl2#
在这个例子中,我们将向您展示如何在Flutter中将字符串转换为base64或base64Url编码字符串。该方法可用于Flutter中敏感数据的双向加密。参见下面的示例:导入这个库进行base64编码和解码:
如何将字符串编码为Base64:
String mydata = "myusername|password"; String bs64 = base64.encode(mydata.codeUnits); print(bs64); //output: bXl1c2VybmFtZXxwYXNzd29yZA==
你也可以使用以下代码:
String mydata1 = "myusername|password"; List<int> mydataint = utf8.encode(mydata1); String bs64str = base64.encode(mydataint); print(bs64str); //output: bXl1c2VybmFtZXxwYXNzd29yZA==
如何将Base64解码为String:
List<int> decodedint = base64.decode(bs64string); String decodedstring = utf8.decode(decodedint);
如何将字符串编码为Base64Url:
String mydata2 = "myusername|password"; String bs64str1 = base64Url.encode(mydata1.codeUnits); print(bs64str1); //output: bXl1c2VybmFtZXxwYXNzd29yZA==
如何将Base64Url解码为String:
List<int> decodedint1 = base64Url.decode(bs64str1); String decodedstring1 = utf8.decode(decodedint1);
通过这种方式,您可以在Flutter中将String转换为Base64或Base64Url编码。
2条答案
按热度按时间fgw7neuy1#
dart:convert
库包含Base64和Base64 Url的编码器和解码器。但是,它们编码和解码整数列表,因此对于字符串,您还需要使用UTF-8进行编码和解码。您可以将这两种编码与fuse
结合使用,而不是单独进行。您需要具有以下导入:
Base64
请注意,这相当于:
Base64Url
同样,这相当于:
参见
f5emj3cl2#
在这个例子中,我们将向您展示如何在Flutter中将字符串转换为base64或base64Url编码字符串。该方法可用于Flutter中敏感数据的双向加密。参见下面的示例:
导入这个库进行base64编码和解码:
如何将字符串编码为Base64:
你也可以使用以下代码:
如何将Base64解码为String:
如何将字符串编码为Base64Url:
如何将Base64Url解码为String:
通过这种方式,您可以在Flutter中将String转换为Base64或Base64Url编码。