您当前的位置: 首页 >  ar

大前端之旅

暂无认证

  • 2浏览

    0关注

    403博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

encoding - 如何将 Dart 的ByteData转换为字符串?

大前端之旅 发布时间:2021-08-30 21:55:25 ,浏览量:2

encoding - 如何将 Dart 的ByteData转换为字符串?

我正在读取一个二进制文件,并希望将其转换为字符串。如何在Dart中完成?

最佳答案

尝试以下

String getStringFromBytes(ByteData data) {
  final buffer = data.buffer;
  var list = buffer.asUint8List(data.offsetInBytes, data.lengthInBytes);
  return utf8.decode(list);
}

ByteData 是一个抽象:

一个固定长度的随机访问字节序列,它还提供对这些字节表示的固定宽度整数和浮点数的随机和未对齐访问。

正如 Gunter 在评论中提到的,您可以使用File.writeAsBytes. 但是,它确实需要一些 API 工作才能从ByteDataList

import 'dart:async';
import 'dart:io';
import 'dart:typed_data';

Future writeToFile(ByteData data, String path) {
  final buffer = data.buffer;
  return new File(path).writeAsBytes(
      buffer.asUint8List(data.offsetInBytes, data.lengthInBytes));

你需要安装path_provider包,然后

这应该工作:
import 'dart:async';
import 'dart:io';
import 'dart:typed_data';
import 'package:path_provider/path_provider.dart';

final dbBytes = await rootBundle.load('assets/file'); //             
关注
打赏
1660524863
查看更多评论
0.0418s