从这里来:

https://blog.csdn.net/fenfeiqinjian/article/details/48976901

一天,一位程序员的儿子问爸爸:“光盘是怎么存下那么多数据的呢?”他想了一下,拿出一支铅笔在纸上画一些点,来解释数据的密度有多么大。他儿子又问:“那这一张纸最多可以存多少数据呢?”他大体估计了一下,说100K吧。“我们能试试吗?”他儿子说。于是这位程序员就花了四五天的时间证明这个结论,后来又花了两个周的时间编写了PaperBack,这位程序员叫Olly。

PaperBack是一款基于GPL的自由软件,可以将文件存储到一张巨大的位图图像中。如果有一台600dpi的激光打印机,那么就可以在一张A4纸上保存500,000byte的未压缩数据,如果用来存代码的话,一张纸可以保存3,000,000+(约3M)的C语言代码。

为什么要写这个软件呢?Olly说,现在已经有很多高级存储设备了,比如硬盘,光盘。但是这些都有一个缺陷:一段时间之后,你无法确定这些数据是否完好无损,是否可读,除非你使用相应地机器去读读看。纸就不一样了,很久以前,程序员就用穿孔纸带来保存代码,那时纸就被当做一种数据的保存方式。纸不仅可以当做廉价的存储介质,还可以像笔记本一样用,人们(不对,是程序员)甚至可以读懂上面的代码。

这种方式对硬件的依赖很低。首先纸本身就是可读的,(最多你可能需要借助一个放大镜),其次这款软件是自由软件,可以在Linux或者OS X上运行这些代码。还可以将数据打印出来之后邮寄到偏远地区,即使他们没有电脑也能分享到你的数据。

PaperBack的使用方法非常简单,软件只有一个exe文件,无需安装直接下载之后就可以运行。界面如下图:

参数说明

  • Dot density:分辨率。最重要的参数,最好设定为打印机分辨率的一半。如果是喷墨打印机,要设定在200dpi之内。
  • Dot size:点大小。点之间必须有明确的区分,通常70%是最佳选择。
  • Compression:压缩。如果你的计算机特别慢的话,选择fast,否则一般选Maximal(最大化压缩)。
  • Redundancy:冗余。冗余可以使数据更加可靠,例如,如果5个数据块中有一个坏了(选择1:5的时候),冗余就可以补救。冗余占用了存储空间,但是提高了安全性。
  • Header and footer:是否在头尾添加文件的相关信息。
  • Border around the page:是否添加边框。
  • Decoding:PaperBack使用了非常棒的纠错技术,即使有一部分数据有损了,也会被接受。这样加快了处理速度但是却导致了一些坏块。如果你想知道真实数据的质量,勾选Determine best quality,PaperBack会提供一个报告,但是需要一些时间。
  • Encryption:是否加密。

生成的位图图像如下: 

使用PaperBack也可以将数据打印出来。现在的版本尚不支持打印文件夹,如果你要备份一个文件夹的话,需要先压缩。PaperBack支持拖拽操作,将一个非bmp文件拖入,就会自动打印。如果是bmp文件,默认的操作是解码。

PaperBack支持所有TWAIN接口的扫描仪来恢复数据。使用时需要关闭所有优化选项,PaperBack有自己的优化操作。如果存储的时候选择了加密,解码的时候会被要求输入密码。


来源链接:http://ollydbg.de/Paperbak/ 
译者:赖信涛,关注Python,喜欢编程和电子游戏。个人博客: http://www.kawabangga.com/

PaperBack:如何在一张A4纸上存储数据相关推荐

  1. 如果把一张大图分开matlab,如何把一张大图分开在几张A4纸上打印出来

    如何把一张大图分开在几张A4纸上打印出来 作者:小龙博客 2011年08月6日 6条评论 分类:电脑技巧 软件 在生活和工作中,所用的打印机打印的纸张宽度都很有限,以A4纸最为常见,所以要打印较大的图 ...

  2. 如何将多个条码标签打印在一张A4纸上

    在平常制作标签的时候,一般都是将标签打印在专门的标签纸上.但是有的时候需要把设计好的标签打印在一张A4纸上,这时需要怎么做呢?今天就演示一下如何将多个条码标签打印在一张A4纸上. 首先打开条码标签打印 ...

  3. 如何在一张A4纸上合并打印多张发票

    在处理日常文档时,我们经常需要合并多个PDF文件,然后在1张A4纸上多页打印.最常见的就是打印发票 现在发票大都是电子发票,但是报销时一般要求一张A4纸打印两张发票,以便节省纸张.但每次操作都很麻烦, ...

  4. 怎么在一张A4纸上打印2张发票?

    平时我们在打印发票时,直接打开会被放大到铺满整张A4纸,这样就会失真,那么应该怎么设置才能让一张A4纸上打印2张发票呢? 1.Word格式 方式1:首先新建一个Word文档后,插入2张发票,并适当排版 ...

  5. 微信资料打印,多页可以合在一张a4纸上吗

    通过微信来接收资料及文件是现代很多人办公.学习方面常会用到的,微信不仅是一种交流问题的工具,同时还可以用来辅助大家传输资料,关于微信中收到的资料及文件怎么进行打印呢? 近日,我备受一个问题的困扰,在微 ...

  6. 实现一张A4纸上能够打印6个学员证,利用excel数据源和word(wps)的邮件合并功能实现批量打印

    实现一张A4纸上能够打印6个学员证,利用excel数据源和word(wps)的邮件合并功能实现批量打印 1.首先我们要准备好数据源,以本文为了,excel表中保存了学员信息. 2.打开word(wps ...

  7. xis表格怎么打印_Excel表格过大,如何将数据打印在一张A4纸上?3种方法帮你搞定...

    原标题:Excel表格过大,如何将数据打印在一张A4纸上?3种方法帮你搞定 我们在工作时候,经常会打印Excel表,不知道你在打印Excel时候有没有遇到这样的情况,因为Excel表格过大,无法在一张 ...

  8. 多张图片或PDF电子发票怎么用PYTHON打印在一张A4纸上

    from os import listdir from os.path import join import fitz,os from PIL import Image import shutil,t ...

  9. 如何将过大的图片缩小直至能够在一张A4纸上打印出来

    问题描述 本人需要打印一张腾讯会议参会人员列表截图(.png)以用于报销,但是人员列表截图过大如果直接打印在A4纸上会有缺失,需要缩小后再打印 解决方案 右击图片文件用"画图"打开 ...

最新文章

  1. hdu4908 中位数子串
  2. asp.net mvc中ckeditor+ckfinder的配置方法
  3. (23)FPGA加法器设计(第5天)
  4. Linux学习总结(39)——系统管理员应该知道的 20 条 Linux 命令
  5. Android学习笔记---java实现多线程下载器,30_多线程下载原理介绍和使用
  6. 最新37网游JS逆向分析
  7. Linux复习-目录及其操作
  8. c语言试讲课程,《C语言程序设计教程》试讲教案.doc
  9. 设计模式:模板(Template)模式
  10. 2013Esri全球用户大会QA之ArcGIS未来发展
  11. 压缩/解压缩库ZipArchive
  12. 制定可用性测试计划(1)
  13. CH6202·黑暗城堡
  14. linux教程第五版课后答案第六章,linux基础及应用第六章练习题
  15. XiaoMi-Ruby-15.6-UMA-only黑苹果efi引导文件
  16. c语言程序设计数组实验报告,c语言程序设计实验报告(数组).doc
  17. 微软过桥问题的图论解法
  18. python入门-if嵌套-火车站安检
  19. 手把手教你OneNET数据可视化
  20. ServerWebExchange接口

热门文章

  1. VB6将文件保存到数据库中
  2. Deepin Linux 上双显卡电脑如何关闭独显,使用核显
  3. 恋爱期间赠与财产的几种情况?
  4. 【Proteus仿真】UNO +PCF8574转IIC接口流水灯
  5. 霍尔Foc算法解析,代码 提供代码、电路图和pcb 算法对开关霍尔的处理颇有独到之处,是做hallfoc的良好参考
  6. SQL中取整,取小数
  7. 2013-Hessian
  8. qq文件传输服务器ip,TP-Link通过获取QQ登陆服务器IP及封锁QQ登陆
  9. windows下使用make命令(makefile)
  10. java 绘制角色_如何设计角色人物?角色人物绘制设计教程