设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

PaperBack:如何在一张A4纸上存储数据

2015-10-9 21:37| 发布者: joejoe0332| 查看: 1024| 评论: 0|原作者: CSDN|来自: CSDN

摘要: 一天,一位程序员的儿子问爸爸:“光盘是怎么存下那么多数据的呢?”他想了一下,拿出一支铅笔在纸上画一些点,来 解释数据的密度有多么大。他儿子又问:“那这一张纸最多可以存多少数据呢?”他大体估计了一下,说1 ...
  一天,一位程序员的儿子问爸爸:“光盘是怎么存下那么多数据的呢?”他想了一下,拿出一支铅笔在纸上画一些点,来 解释数据的密度有多么大。他儿子又问:“那这一张纸最多可以存多少数据呢?”他大体估计了一下,说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/


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部