代码之家  ›  专栏  ›  技术社区  ›  user4058564

这个编码字符串的压缩类型是什么?

  •  1
  • user4058564  · 技术社区  · 9 年前

    我的兄弟们给了我一个sqlite文件。它带有一些字段,其值是这样编码的: X'737AB86B719E82CBC3DDDDC9190ABE0F77CFCE54303230300200' (全部都有 X' 前缀),我不知道这个字符串的类型。有人知道这个算法的名字吗?如何将其解码为javascript中的正常字符串(可读)?

    2 回复  |  直到 9 年前
        1
  •  1
  •   Mark Adler    9 年前

    这是原始放气数据。您可以使用 zlib 将其解压缩。

    该字符串解压为十六进制:

    42 e1 ba a3 6e 20 44 e1 bb 8b 63 68 20 4d e1 bb
    9b 69 20 32 30 30 32
    

    或此为UTF-8字符串:

    Bán Dách Mái 2002年

    这里有一个 port of zlib to native javascript .

        2
  •  0
  •   ian cikal    9 年前

    您是否尝试过查看sqlite使用的模式?

    sqlite> .schema
    

    找出里面的字段类型数据。因为该字符串看起来像BLOB类型的字段。

    如果您只想从表(stdout)中提取文件,可以使用以下方法

    SELECT writefile('filename.jpg',img) FROM tableName WHERE id='1';
    

    该示例将从表到文件(stdout)填充数据。 SELECT写文件 要从表中写入文件, 文件名.jpg 它的示例文件包含内部表, 国际货币基金组织 这是您在这个问题上的字符串,包含BLOB类型的文件, FROM表格名称 替换为tableName, WHERE id=“1” 将其与要执行的字符串的id匹配。