如何编码为Base64飞镖字符串? [重复]

问题描述 投票:24回答:2

这个问题已经在这里有一个答案:

我与需要在base64编码数据的API工作。我怎么编码为Base64简单的字符串?

dart
2个回答
36
投票

有没有必要使用加密包,因为核心库提供了base64编码和解码内置支持。

https://api.dartlang.org/stable/2.1.0/dart-convert/dart-convert-library.html

import 'dart:convert';

main() {
  var str = "Hello world";
  var bytes = utf8.encode(str);
  var base64Str = base64.encode(bytes);
  print(base64Str);
}

24
投票

它需要几个步骤,但在base64编码字符串是非常简单的。

镖具有在package:crypto库,CryptoUtils.bytesToBase64,这需要的字节的列表编码为base64的函数。为了从一个飞镖字符串得到字节的列表中,您可以在UTF8.encode()库使用dart:convert功能。

总之,这看起来像:

import 'dart:convert';
import 'package:crypto/crypto.dart';

main() {
  var str = "Hello world";
  var bytes = UTF8.encode(str);
  var base64 = CryptoUtils.bytesToBase64(bytes);
  print(base64);
}

如果你在浏览器中工作,那么你必须使用浏览器的更容易的选择内置的btoa功能。上面的代码片断变为:

import 'dart:html';

main() {
  var str = "Hello world";
  var base64 = window.btoa(str);
  print(base64);
}
© www.soinside.com 2019 - 2024. All rights reserved.