无网络环境下利用二维码传输文件

不知道小伙伴是否碰到这样一些场景,无法使用互联网/蓝牙/NFC等,却需要在无网络环境下传输文件。

零点君向大家隆重推出一个新选择:使用二维码。这意味着,所有数据都通过相机镜头传输。

一、实现方法

简单来说,就是将文件转化为二维码,然后用其他设备扫码进行传输。

二维码

libcimbar: 颜色图标矩阵条形码。

Behold: 一种用于气隙数据传输的实验性条形码格式。

它只需使用计算机显示器和智能手机摄像头即可维持 106 KB/s的速度传输!

二、操作步骤

  1. 编码器将动画条形码输出到计算机或智能手机屏幕上:打开HTML编码器文件,选择需要传输的文件 (网页端就是一个html文件,无网络环境下浏览器打开也能正常使用),

  2. 解码器是一个使用手机摄像头读取动画条形码的手机应用程序:手机打开APP,对准屏幕,传输开始会出现进度条。

三、原理

cimbar 是一种高密度 2D 条形码格式。数据存储在彩色图块网格中 -- 根据选择的图块以及选择的颜色来绘制图块,对位进行编码。对数据应用 Reed Solomon 纠错,以解释视频 -> 数字解码的有损性质。预计错误率低于 1%,并得到纠正。

网格上每个图块(位置)有 16 个可能的符号,每个图块编码 4 位。此外,网格上的每个位置可以编码 2-3 个颜色位,这意味着每个图块最多总共 7 个位。

无网络环境下利用二维码传输文件插图1

libcimbar 为优化实现,包括一个基于 fountain 代码 (wirehair) 和 zstd 压缩构建的文件编码的简单协议。最大 33MB 的文件(压缩后)被编码为一系列 cimbar 代码,这些代码可以输出为图像或实时视频源。一旦成功解码了足够多的不同图像帧,文件将成功重建和解压缩。即使图像的接收顺序不正确,或者某些图像已损坏或丢失,也是如此。

相关文件下载地址
*该资源需回复评论后下载,马上去发表评论?
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

标签

发表评论

Comment List(16)

PlayCover:让你的Mac能够运行ios游戏和应用