博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
dart 自己写一个文件编码器
阅读量:6090 次
发布时间:2019-06-20

本文共 928 字,大约阅读时间需要 3 分钟。

// import 'dart:convert';
import 'dart:io';
main() async {
  var src = File('./lib/convert/source.txt');
  var output = File('./lib/convert/output.txt');
  var ins = src.openRead();
  var encoded = convert(ins, 128);
  var outs = output.openWrite();
  await encoded.pipe(outs);
  outs.close();
  // the second transform.
  var output2 = File('./lib/convert/output2.txt');
  var outs2 = output2.openWrite();
  await convert(output.openRead(), -128).pipe(outs2);
  outs2.close();
}
Stream<List<int>> convert(Stream<List<int>> source,
    [int key = 128, int base = 256]) async* {
  await for (var chunk in source) {
    yield encode(chunk, key, base);
  }
}
List<int> encode(List<int> original, [int key = 128, int base = 256]) {
var encoded = List<int>(original.length);
for (var i = 0; i < original.length; i++) {
  encoded[i] = (original[i] + key) % base;
}
return encoded;
}

转载于:https://www.cnblogs.com/pacific/p/10160611.html

你可能感兴趣的文章
【HeadFirst设计模式学习笔记】10 组合模式
查看>>
字符编码:GBK、GB2312、UTF-8
查看>>
[转]javascript推荐书籍
查看>>
Script: Computing Table Size
查看>>
hdu 2819(二分图匹配)
查看>>
iOS全局变量与属性的内存管理
查看>>
用DirectX实现魔方(二)
查看>>
MSSQL-SQL SERVER一些使用中的技巧
查看>>
nodejs express 框架解密4-路由
查看>>
linux设置LD_LIBRARY_PATH变量
查看>>
整理:java定时器。
查看>>
Objective C 快速入门学习一
查看>>
移动互联网实战--社交游戏的排行榜设计和实现(1)
查看>>
瘋子C语言笔记 (string)
查看>>
PHP-四种解析XML文件的方法
查看>>
连HTTPS都有漏洞,这么不安全的互联网我们还要继续用吗?
查看>>
MySQL的各种join
查看>>
微信支付开发(2) 扫码支付模式一
查看>>
java.lang.Runnable接口
查看>>
jQuery cssHook的经典例子
查看>>