V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
jacy
V2EX  ›  问与答

如何将 16 进制的文本还原成 png 图像

  •  
  •   jacy · 2015-03-15 23:16:47 +08:00 · 4520 次点击
    这是一个创建于 3545 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在有一段文本,是把png图片转成文本了,也就是用16进制写出来了。现在我想还原出来,比如:

    89504e470d0a1a0a0000000d4948445200000064000000280403000000fa5642700000001874455874313432363433313337303a2d3236373339333237303a3331c7cf7c0300000030504c5445ffffffefefefdfdfdf9f9f9f2f2f2f5f5f5f7f7f7fafafaf8f8f8fcfcfcfbfbfbf3f3f3f6f6f6f4f4f4f1f1f1f0f0f0f9488379c000003b549444154388d6360188e404891541dc22e6145e8628c65a19d708ee04474e9d5e1366e02a8424cbdefff7f0986a8149adeba67219a96b3cb16f9226be19cc060fd7f5b95c9bfbdc70c1898969b857609f64c40d1c1e9dcc1f80d488b5742f8e22ebeb5ffb70b30b0feffffffd1e4b69c740506069d04142d6c0f2f327b02755ed9bb07d52ca199ab8ab48c17828287391245862fb241b5818141f4d94a88eb0405943043501c8557d7acd00ab4bbaf00c8066a628fa9f47fc1c038cdffffbf27bbaf2e9cc4c0a0a9304152015907e3dd7226908b663170ee7f92047467c4b2ffd719d4deff07830023cd8ab39d51750f90b5b0bf28624acb00458ceebb58b7090cbc974dfe9d64580dd1f1ee71735a8e5f5766fe01642d323b2630489919727529d879cc0839c9b024d3eedf21063160bcec8df5fff7252679d1bee949f106c85a966430300a320ac8182bc4474a9ade9999dd64f7ff0003e3aa

    最好是php代码,能够在Html里显示出来
    我的思路是取每两位写成二进制文件,然后读出来,不过感觉好麻烦啊,不知有没有现成的库或者函数,不用写文件的
    第 1 条附言  ·  2015-03-16 00:17:48 +08:00
    已解决,感谢二楼
    用php将字符串转成二进制,然后Base64编码,直接img标签输出
    base64_encode(pack('H*',$hexadecimal_string));

    ps: php果然是世界上最好的语言。。。
    4 条回复    2015-03-16 00:10:46 +08:00
    yangqi
        1
    yangqi  
       2015-03-15 23:26:30 +08:00   ❤️ 1
    VYSE
        2
    VYSE  
       2015-03-15 23:51:46 +08:00   ❤️ 1
    js就行啊。
    例如这个页面
    http://tomeko.net/online_tools/hex_to_base64.php?lang=en
    就是用js把hexstring转成base64
    然后在html里base64 img
    jacy
        3
    jacy  
    OP
       2015-03-15 23:52:31 +08:00
    @yangqi 感谢,不过不太明白string参数是文本还是二进制流,我直接用上面的文本不行。而且奇葩的是他给的例子我都运行报错。。。
    jacy
        4
    jacy  
    OP
       2015-03-16 00:10:46 +08:00
    @VYSE 感谢提供思路,用php实现了。
    base64_encode(pack('H*',$orig))
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1125 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 19:05 · PVG 03:05 · LAX 11:05 · JFK 14:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.