Skip to main content
 首页 » 编程设计

php之python/php之跨语言字符串压缩(使用 gzcompress/urlencode/json)

2025年05月04日12tuyile006

我在 Python 2.6 中有一个例程,它在 AWS DynamoDB 数据库中存储大量 html 文本,问题是这些“blob”在进行简单检索时会占用大量空间和计算单元,所以我正在寻找将字符串压缩成更轻量级的东西的方法。

我已经对以下内容进行了一些简单的测试并且它有效(大大减少了 DynamoDB 计算单元),但我正在寻找关于这是否是最好的方法的意见。

下面是我用来生成json数组的纯文本gzip压缩版本的Python 2.6代码。 json 数组包含几个键,每个键都有一大块 html。

import urllib, json 
str = urllib.quote(json.dumps({'foo1': 'bar'}).encode('zlib').encode('base64')) 

然后使用 php 我可以运行以下命令将字符串返回到它的自然数组:

json_decode(gzuncompress(base64_decode(urldecode($str))),1); 

有没有人有任何提示或这是实现我目标的最佳方式?

请您参考如下方法:

你真的需要在数据库中以纯字符串形式存储数据吗?您可以省略 base64 编码并将数据以二进制形式保存到数据库,以略微提高代码速度。无论如何,数据是 gzip 压缩的,因此您无法直接将其可视化。 http://aws.amazon.com/about-aws/whats-new/2012/08/21/dynamodb-announces-binary-data-types/