如何读取并解压.z.json格式文件?以F1赛事Position.z.json为例
解压.z.json格式的F1实时数据文件
你拿到的这个文件内容是Base64编码的Unix compress(.z格式)压缩数据,需要分两步处理才能得到可读的JSON:
操作步骤
方法1:使用Shell命令(Linux/macOS)
- 把文件里的字符串复制到文本文件(比如
data.txt),去掉首尾的双引号 - 执行以下命令完成解码和解压:
cat data.txt | base64 -d | uncompress > position.json
如果系统没有uncompress命令,可用兼容的gunzip替代:
cat data.txt | base64 -d | gunzip > position.json
方法2:使用Python脚本(跨平台)
直接运行以下脚本,替换编码字符串即可:
import base64 import zlib # 替换为你拿到的Base64字符串(已去掉首尾引号) encoded_str = "7ZQ7a8MwFIX/i2Yn3IekK3nv3EIztCkdQslgSpySuFPwf6+USMZZbiGzFyODPs7RuY+LeTmeu6E79qb9uJhNd9ifh93hx7SGgHgFbkVhg7Z10kJcB+YAIFvTmKd+OHX7s2kvBvPnddgNv+nXPPeb0+7rO115M+1KPGFj3vMJbTptTeuAx8aQAnkrcIMi51OGMENWg4TjDQrRuwJRghBUqTBJoZ9T2qu8g6IVyVOhJFOaw5QF1SwYZlmg18OoWkw4dxgUipArVJSszalrWQgGW/yJDUUJM6VmIVCoCBhmxSK1xN75SoU7inWt0k1RarXoSqmdYf2UYOCi5TMlao1j1UKZ584P9bvVHbrq8NpZk0PnVIdUe5dcHROXKK9nyK7Oyd1wiZqG5ykNmlNBn5PaUSnDML1rHJt/dg3CGoTFW1p2zbJrll2z7JrHd83n+Ac=" # Base64解码得到压缩二进制数据 compressed_data = base64.b64decode(encoded_str) # 解压Unix compress格式(LZW无头部模式) decompressed_data = zlib.decompress(compressed_data, wbits=-15) # 写入可读JSON文件 with open("position.json", "wb") as f: f.write(decompressed_data) print("解压完成,已生成position.json")
说明
.z后缀对应Unix传统compress工具生成的LZW压缩格式,zlib库通过wbits=-15参数可直接处理这种无头部的压缩数据- 最终生成的
position.json为人类可读的F1实时位置数据
内容的提问来源于stack exchange,提问作者HJA24
相关产品推荐
相关产品推荐

