如何在Flutter/Dart中对Base64和Base64Url进行编解码
How to encode and decode Base64 and Base64Url in Flutter / Dart
我想在 Flutter 的 Base64Url 中对以下字符串进行编码,然后在 Dart 服务器上对其进行解码。
"username:password"
我该怎么做?我该如何在 Base64 中实现?
dart:convert
库包含 Base64 和 Base64Url 的编码器和解码器。但是,它们对整数列表进行编码和解码,因此对于字符串,您还需要使用 UTF-8 进行编码和解码。您可以将它们与 fuse
.
结合使用,而不是单独进行这两种编码
您需要导入以下内容:
import 'dart:convert';
Base64
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
Base64Url
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
另见
我想在 Flutter 的 Base64Url 中对以下字符串进行编码,然后在 Dart 服务器上对其进行解码。
"username:password"
我该怎么做?我该如何在 Base64 中实现?
dart:convert
库包含 Base64 和 Base64Url 的编码器和解码器。但是,它们对整数列表进行编码和解码,因此对于字符串,您还需要使用 UTF-8 进行编码和解码。您可以将它们与 fuse
.
您需要导入以下内容:
import 'dart:convert';
Base64
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
Base64Url
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