2013-04-11 61 views

回答

24

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

Dart在package:crypto库中有一个函数CryptoUtils.bytesToBase64,它接受一个字节列表以base64编码。为了从Dart字符串中获取字节列表,可以使用dart:convert库中的UTF8.encode()函数。

总之,这看起来像:

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); 
} 
+5

As的'crypto'包的0.9.2,'CryptoUtils'已弃用。使用'dart:convert'包中的'BASE64'。 – 2016-04-10 12:27:41

+0

是的,使用DART进行BASE64变得更容易:convert。请考虑标记本的答案为接受而不是这一个。 – filiph 2017-03-03 00:55:01