V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
cnt2ex
V2EX  ›  程序员

物理存储稍微大一点的文件(~ 50K)有什么好办法?

  •  
  •   cnt2ex · 2025 年 3 月 5 日 · 7509 次点击
    这是一个创建于 318 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如有一些数据需要物理保存。 希望导入和导出能方便,能想到的就只有编码成二维码的形式再打印出来。 但是单个二维码编码的数据最大也就 2950 字节,对于 50K 左右的数据来说需要分割成太多份,感觉也挺麻烦。

    不知道有没有更好的办法。

    77 条回复    2025-03-07 18:08:27 +08:00
    XXWHCA
        2
    XXWHCA  
       2025 年 3 月 5 日
    光盘、磁带:是我被淘汰了吗?
    superchijinpeng
        3
    superchijinpeng  
       2025 年 3 月 5 日
    db ?
    xiaoqidev
        4
    xiaoqidev  
       2025 年 3 月 5 日
    之前刷到过一个彩色二维码,可以存储几十 M 的数据
    knightgao2
        5
    knightgao2  
       2025 年 3 月 5 日
    啊,u 盘不可以吗,不行就打印出来呗,加个 ocr 也不麻烦
    deplives
        6
    deplives  
       2025 年 3 月 5 日
    合着你的物理保存指的是用打印机打印出来?
    knightgao2
        7
    knightgao2  
       2025 年 3 月 5 日
    不过我觉得这个是个 x-y 问题,还是要问下,最开始的需求是什么?密钥保密?离线安全?
    XXWHCA
        8
    XXWHCA  
       2025 年 3 月 5 日   ❤️ 1
    @xiaoqidev 是这个 https://github.com/sz3/libcimbar
    使用手机或者电脑摄像头就可以解码图片内容,但是如果要打印出来需要彩印,然后还要考虑时间久了颜色问题
    shadowyue
        9
    shadowyue  
       2025 年 3 月 5 日
    成本你不说。
    你去淘宝搜,128M 的 SD 存储卡,几块钱一张。能读能写。
    my3157
        10
    my3157  
       2025 年 3 月 5 日   ❤️ 2
    按照 OP 的思路, 可能压缩之后 base64 然后打印最方便
    cnt2ex
        11
    cnt2ex  
    OP
       2025 年 3 月 5 日   ❤️ 1
    @XXWHCA @knightgao2
    用这些东西(光盘、磁带、U 盘)无法很好的验证数据是否真的没有被损坏。但如果打印出来,更容易看到哪里损坏了。

    @knightgao2 其次,OCR 存在一定的错误率,如果是几十 K 的数据在识别的时候出一个错,甚至得一个一个字符的找哪里错了,这是为什么我一开始考虑二维码的原因。

    @knightgao2 就是密钥+一些重要密码的保存,因为很多数据是用密钥加密后存在云端的。

    @xiaoqidev 彩色二维码感觉主要是用来没有网络的情况下,用相机传文件。如果说用于存储的话,如果褪色了,里面的就很难说还在不在了。
    my3157
        12
    my3157  
       2025 年 3 月 5 日
    试了下, 1M 出头的纯文本, 压缩 base64 之后, 调小字体(5 号)并做适当的排版(双栏), 大概 60-70 页 A4 即可打印出来
    cnt2ex
        13
    cnt2ex  
    OP
       2025 年 3 月 5 日
    @my3157 这个方法可以作为另外的一重保险用。但到时候导入计算机时,要么手动输入,要么 OCR 。而 OCR 一旦出错一个字符,还是得一个字符一个字符检查,相当于还是得手动输入。
    my3157
        14
    my3157  
       2025 年 3 月 5 日
    @cnt2ex #13 像 zip 这种这种格式都有自校验, 错了无法解压, 至于哪儿错了, 那就得有容错的方式, 二维码页一样, 信息密度高的时候都不好检查哪儿出错了
    my3157
        15
    my3157  
       2025 年 3 月 5 日
    @my3157 #14 所以, 如果不信赖电子存储, 首先考虑的是降低信息密度, 比如将数据用 AES/SHA 之类的强安全加密算法加密并冗余存储, 然后将密钥用二维码打印, 或者直接背下来
    MADBOB
        16
    MADBOB  
       2025 年 3 月 5 日
    @cnt2ex 多买几个 U 盘不就解决了,原文件+md5 校验文件确保正确,多份也确保不会意外损坏丢失
    sillydaddy
        17
    sillydaddy  
       2025 年 3 月 5 日   ❤️ 1
    OP 提到「如果打印出来,更容易看到哪里损坏了」,是不是想:物理备份 3 份副本,如果「肉眼发现」 1 份有所损坏,就换用另 1 份。

    其实它用到数字化存储也很容易,把「肉眼发现」变成「数据校验」就行。数字化不只有校验,更是有纠错,二维码本身就自带校验和纠错,缺失二维码的一部分,不会影响解码。

    纠错可以很强大的,磁盘大片的连续损坏、间隔损坏、超过 50%损坏,都是可以纠错的。二维码的纠错就分 3 、4 个等级。
    duanxianze
        18
    duanxianze  
       2025 年 3 月 5 日
    光盘磁带不就是物理存储?比打印到纸上安全多了
    UnluckyNinja
        19
    UnluckyNinja  
       2025 年 3 月 5 日
    这不就是说对象存储方案,文件可以哈希验证、冗余存储,为了保存文件打印出来总有种水洗煤火箭的感觉…… 冷存储的机械硬盘比冷存储的纸更容易保存吧,担心就多备份几份,用不同批次的硬盘。密码如果说的各网站密码,那保证 2FA 的可用性比保存密码更重要,忘了就重置
    zx123ok
        20
    zx123ok  
    PRO
       2025 年 3 月 5 日 via Android
    54xavier
        21
    54xavier  
       2025 年 3 月 5 日
    @zx123ok 挺有意思的一个项目,试了下确实可用,就是 h5 在手机上高频的截取摄像头画面,解码,手机发热、消耗很大。
    Emiya1208
        22
    Emiya1208  
       2025 年 3 月 5 日
    mark 一下,有点意思,特殊情况下确实有可能是有需要的。
    chairuosen
        23
    chairuosen  
       2025 年 3 月 5 日
    需要物理保存 不是原始需求,说一下原始需求是什么。也许是 XY 问题
    busier
        24
    busier  
       2025 年 3 月 5 日
    @cnt2ex

    你应该考虑使用 BTRFS/ZFS 这类带校验的文件系统解决问题,他们可以发现存储器存储位反转,而磁盘读写不报错的情况。考虑到 ZFS 的复杂性,用 BTRFS 比较方便。

    然后,多 COPY 几个盘做备份!
    hefish
        25
    hefish  
       2025 年 3 月 5 日   ❤️ 3
    其实只需要一把精度很高的尺。
    比如你的文件转二进制之后是 e8 54 75 10 b0.... 把这个一串数 转十进制,比如转成了 3123095833234
    然后你只要找一根长 1 米的棍子,用一个精确的尺在 31.23095833234 。。。。cm 处 刻一刀。
    过了若干年,只要用尺子量一下那个刻度,发现是 31.23095833234 。。。。cm , 然后把这个 30 多的数字去掉小数点,转成 16 进制,就是原来的文件啦。
    Emiya1208
        26
    Emiya1208  
       2025 年 3 月 5 日   ❤️ 1
    看问题这么不细致的,楼主在后面的回复说了用来存储密钥或是密码。

    楼主认为 U 盘或是硬盘或是光盘难以观察出来数据是否损坏。但是我认为二维码我肉眼也观察不出来轻微的损坏啊?

    暂不清楚为什么对电子数据这么不信任。技术上验证电子数据是否损坏并不困难,莫不是假设了某种情况下没有计算机可用?

    但是我始终不认为人有能力在存储这方面做到比计算机更好。比如对 一份数据进行加密 然后计算哈希 然后对哈希值再次计算哈希,然后对 数据 第一份哈希 第二份哈希 这三样东西都做三副本备份。我不太认为这样的数据能被篡改。
    aru
        27
    aru  
       2025 年 3 月 5 日
    直接用二维码方式就行了。具体可以询问 AI ,20 多个二维码,我感觉打印在一两张纸就行了
    SenkjM
        28
    SenkjM  
       2025 年 3 月 5 日
    @cnt2ex 密码可以专门用冷备盘(建议光盘、硬盘双备份),关键性密码密钥文本打印或者手抄。如果是密钥文件的话建议使用几乎不会更改的互联网公开文件,这样你可以靠数量隐藏。
    aru
        29
    aru  
       2025 年 3 月 5 日
    @Emiya1208
    二维码是有冗余的,可以容许丢失若干百分比数据
    AV1
        30
    AV1  
       2025 年 3 月 5 日
    @cnt2ex
    用 rar 压缩包+恢复记录
    humbass
        31
    humbass  
       2025 年 3 月 5 日
    楼主没有表达清楚,实际上要的是数据以可见的方式呈现?

    如果是这样 1 楼 @cnnblike 、20 楼 @zx123ok 的答案最接近
    cnbatch
        32
    cnbatch  
       2025 年 3 月 5 日
    OP 这需求,完全可以重新使用十几年前 eMule 流行的时期顺带流行过的 .par2 校验。

    使用 par2cmdline 或者 MultiPar 给目标文件生成一堆校验文件,稍有损坏也不怕,只要损坏不多,就可以使用 .par2 文件恢复出原始内容
    TimG
        33
    TimG  
       2025 年 3 月 5 日 via Android
    @hefish 看到这个回复我黑历史上脑尬得脚趾抓地,因为我高中的时候真信过这本书。还跟朋友吹过,还好现在都不联系了。但愿他也不记得。
    horseInBlack
        34
    horseInBlack  
       2025 年 3 月 5 日
    @TimG 这是什么小说吗
    kirory
        35
    kirory  
       2025 年 3 月 5 日   ❤️ 4
    单片机接 FeRAM ,可以接 USB 当 U 盘用,接个太阳能板一直算 hash ,对了就亮绿灯,坏了就亮红灯
    weakish
        36
    weakish  
       2025 年 3 月 6 日
    可以定制高密度二维码,单个二维码可以保存 50 K 甚至更多数据。

    https://github.com/piql/boxing


    读取就比较麻烦,普通手机相机的解析度可能不够,需要比较强力的数码相机。
    mayli
        37
    mayli  
       2025 年 3 月 6 日
    啥叫物理储存?是打印到纸上储存?
    光盘,磁带,硬盘不行吗?
    ryd994
        38
    ryd994  
       2025 年 3 月 6 日 via Android
    @XXWHCA
    @knightgao2
    U 盘会漏电,光盘会降解,两者都不适合长期保存数据。
    U 盘是靠闪存里的电子记录数据。读写过程其实类似内存,但漏电速度比内存慢得多。理论上用 SLC NAND 而且多重备份的话会寿命更长。
    刻录光盘靠盘片里的染料记录数据。这个染料会逐渐降解。特别是潮湿高温的环境。


    @cnt2ex #11 你在开什么玩笑?果然是 XY 问题。校验码有没有听说过?还可以分段校验,精确告诉你哪一段损坏了。也可以加前向纠错码,也就是上面提到的冗余码,读取的时候不仅可以识别错误还可以修复错误。
    最不济你多存几份副本,在不同的媒介上。
    tywtyw2002
        39
    tywtyw2002  
       2025 年 3 月 6 日
    直接上 eeprom 不久行了。这东西 除了 静电,弄不坏的。
    dode
        40
    dode  
       2025 年 3 月 6 日
    可以压缩吗,
    TimG
        41
    TimG  
       2025 年 3 月 6 日 via Android   ❤️ 1
    @horseInBlack 天才在左疯子在右,很有名的畅销书,这是其中一个案例。作为小说思维清奇,可以充当酒桌轶闻,作为记实录和科普书籍则大有危言耸听、刻意满足猎奇之嫌。跟日本马桶水能喝、美国夏令营等“意林文章”差不多的时代性作品,只不过吹的是精神病人。
    NSAgold
        42
    NSAgold  
       2025 年 3 月 6 日 via Android
    @hefish #25 实际上不可行 以米为尺度转十进制你不能多于 35 位数字 现实中不存在 1*10^-36m
    NSAgold
        43
    NSAgold  
       2025 年 3 月 6 日 via Android
    @TimG 这个最早的出处应该是科幻世界来着 但是这个脑洞没有考虑数学是连续的,但真实世界不是,真实世界有最小单位普朗克长度
    strobber16
        44
    strobber16  
       2025 年 3 月 6 日 via Android
    刻石头上
    EastHorse
        45
    EastHorse  
       2025 年 3 月 6 日
    纹在身上
    langhuishan
        46
    langhuishan  
       2025 年 3 月 6 日   ❤️ 2
    一个外星人偶然来到地球,觉得地球很有趣,想带些资料回去。但因为飞船空间有限,他发现带整套《大英百科全书》不太现实。于是,外星人想了个办法:用数字代替字母,这样得到了一串长长的数字。然后在这串数字的前面加上"0." 使之以小数点的形式存在之后再以飞船长度为 1 , 根据之前的小数点与 1 的比例, 在飞船的某个地方刻上一个点`
    回到自己的星球后,及其精确地测量出那个点之于飞船所在的比例。
    wangtian2020
        47
    wangtian2020  
       2025 年 3 月 6 日
    存 U 盘在需要的时候再打印出来不行吗。我没搞懂物理存储的意义是什么,存在存储设备上/存在网络上,在任意需要的时候还是能打印出来变成物理存储啊
    unco020511
        48
    unco020511  
       2025 年 3 月 6 日
    你用 word 打印出来不就是物理存储吗
    midpoint
        49
    midpoint  
       2025 年 3 月 6 日
    质量好些的光盘刻录,放干燥箱,在你有生之年里都不会有问题
    fbxshit
        50
    fbxshit  
       2025 年 3 月 6 日
    用某些常数的某些位的一部分做你的密码,就永远不会丢失了。 比如 pi+e 的小数点后 100 亿位到 100 亿+100 位做你的密码,忘记了就拿个计算机再算一下。
    colincat
        51
    colincat  
       2025 年 3 月 6 日
    有点意思
    @langhuishan
    sjkdsfkkfd
        52
    sjkdsfkkfd  
       2025 年 3 月 6 日
    把这堆东西加密一下主密码写到纸上不就行了,加密的那堆玩意儿到处备份就行了,难道还怕有人能破解加密算法?
    vincentWdp
        53
    vincentWdp  
       2025 年 3 月 6 日
    @langhuishan 虽然但是, 物理尺度有极限的, 最多也就到夸克级别吧. 这跟数学上无限是没办法比的
    NoKey
        54
    NoKey  
       2025 年 3 月 6 日
    什么样的数据,需要如何回复读取,成本怎么样,都不提
    然后,怕不知道有没错误,搜一下校验码,先了解一下呗
    NoKey
        55
    NoKey  
       2025 年 3 月 6 日
    @langhuishan 牛逼
    Lovres
        56
    Lovres  
       2025 年 3 月 6 日
    emmm 这种需求.... 我记得有人用这种方法,跳过摆渡系统,把内网资料搞出来了 安全培训的一个案例
    2333wz
        57
    2333wz  
       2025 年 3 月 6 日
    二维码刻在石头上
    zjsxwc
        58
    zjsxwc  
       2025 年 3 月 6 日
    50K Byte 也就 18 个二维码,
    打印 18 个二维码来备份?
    jiny2048
        59
    jiny2048  
       2025 年 3 月 6 日
    > 用这些东西(光盘、磁带、U 盘)无法很好的验证数据是否真的没有被损坏。

    checksum:我在这
    charles0
        60
    charles0  
       2025 年 3 月 6 日
    试试 Paperbak https://ollydbg.de/Paperbak/ 原理和二维码是类似的
    meeop
        61
    meeop  
       2025 年 3 月 6 日
    刻在石头上
    Kaisar
        62
    Kaisar  
       2025 年 3 月 6 日
    让我想起了一个上古笑话转成二进制拿针刻光盘 或许是个可行的方案
    meeop
        63
    meeop  
       2025 年 3 月 6 日   ❤️ 1
    如果是字符,图片,视频,那么直接打印成册即可永久保存,浏览方便

    我理解你是认为电子介质存储可靠性无法保证,希望有一个能长期存储,且容易还原的存储介质

    目前已知的办法,有且只有一个,就是刻在稳定物理介质上,具体来说就是印在纸上,刻在石头上

    直接打印就是最经济有效的方案,各个档案馆也是这么干的
    而且要明文打印,不要打印二进制数据


    因为二进制数据就涉及编码,解码,和解码设备
    你现在的编码软件,100 年后大概率不可用了,除非你配套把算法,unicode 字符表也打印出来,未来根据算法重新实现解码软件

    不用担心 ocr 还原失败之类,技术在进步,以现在 ai 进步速度,未来 ocr 识别可以非常准,而且相关视频解码技术会非常成熟,说清楚需求 ai 帮你写就行
    InkStone
        64
    InkStone  
       2025 年 3 月 6 日   ❤️ 2
    补充一下上面的 base64 方案:可以采用 base64 的 OCR 友好变体 Base58 ( BTC 应该就是用的这个)。

    会稍微长一点,但大大提高 OCR 输入的精准度。
    TimG
        65
    TimG  
       2025 年 3 月 6 日 via Android
    @NSAgold 不光是最大尺度的问题,基础的热胀冷缩都没考虑。压强温度这些变量省掉了,牛顿看了都摇头。
    Cruzz
        66
    Cruzz  
       2025 年 3 月 6 日
    纹在屁股上。
    zxjxzj9
        67
    zxjxzj9  
       2025 年 3 月 6 日
    如果你说的二维码是指 QRcode ,那么 QRcode 是自带纠错码的,损失了一部分也可以还原信息,所以其实不用担心,一张 A4 纸也够能打印下 50kb 了
    635925926
        68
    635925926  
       2025 年 3 月 6 日
    说的好像纸很可靠一样。稍微泡点水就凉凉了。
    Habyss
        69
    Habyss  
       2025 年 3 月 6 日
    数据需要导出, 需要导入, 需要加密, 需要方便, 还提到没有网络, 彩色二维码会褪色, u 盘光盘不知道数据是否损坏, orc 会可能识别错误
    最后还要方便导入到计算机... 你最后都有计算机了, 为什么不用 u 盘, u 盘会坏, 一张纸不是更容易受到环境影响损坏? 还有为啥最后计算机没坏...
    akorn
        70
    akorn  
       2025 年 3 月 6 日
    OP 是不是想找冷钱包啊?
    想物理存储大量文本,还想肉眼校验,最靠谱的就是 CD 了,只要盘体不变质,没划痕,放个几十年没问题。
    最大的问题就是读取了。几十年后估计很难找到能用的 CD 机了。
    zxjxzj9
        71
    zxjxzj9  
       2025 年 3 月 6 日
    @acorngyl 真的要论介质储存,其实胶卷拍(打印)二维码是最持久的。
    symons
        72
    symons  
       2025 年 3 月 6 日 via iPhone
    想问下 什么样的数据需要这样保存
    MrKrabs
        73
    MrKrabs  
       2025 年 3 月 6 日
    你不知道 rar 吗
    Rendex
        74
    Rendex  
       2025 年 3 月 6 日
    M-disc ,千年盘,CD 的一种,理想条件实验室保存 600 年。容易坏的光盘是蓝光盘,用的是有机染料,所以阳光会让有机物的底层失效。空气湿度会让光盘变形。
    磁带干燥保存理论也是过百的。
    不行你就碳素墨水打印特种宣纸吧,古人认证的可以保存过千年的东西。
    胶卷感觉不行,因为老胶卷好多感觉都脆了,以后可能更难冲印。
    感觉大多数的储存只要保证干燥基本能解决大部分问题,所以买个真空机抽比较真空保存,半年/一年定期校验文件完整性就好了。不管是用机械硬盘还是磁带还是光盘。
    DIO
        75
    DIO  
       2025 年 3 月 6 日
    @NSAgold #43 物理意义上的最小尺度且不谈,测量精度,不确定度,置信度通通没有考虑,属于是接触过测量领域就没法看的程度
    felix0012
        76
    felix0012  
       2025 年 3 月 6 日 via Android
    @cnt2ex 完全一样的场景。我用脚本定时自动调用 gnupg 加密备份数据压缩包然后上传网盘。gnupg 的私钥就用的一楼提到的 paperbak 打印出来几份分散存放。

    有一次试着恢复过,手机拍照然后用 paperbak 识别,很顺利。
    opengps
        77
    opengps  
       2025 年 3 月 7 日
    放进 git 里我觉得更好
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2185 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 00:59 · PVG 08:59 · LAX 16:59 · JFK 19:59
    ♥ Do have faith in what you're doing.