1

我正在实现一个 REST API,它在后台查询 Cassandra(通过 Python 驱动程序)并返回结果。现在要查询的项目会很大,所以我想要有分页能力。

execute() 方法返回的ResultSet有一个名为的属性paging_state,它似乎是字节文字。我想在响应正文中使用类似startKey=<PAGING_STATE_VALUE>. 目前,我看到分页状态看起来像b'\x0cFY5D70822742\x00\xf0\x7f\xff\xff\xe6\x00'.

我应该如何对其进行解码,以便可以将其作为正确的字符串附加到我的 API 响应正文中。我尝试用 解码UTF-8ASCII但它们失败了。

4

1 回答 1

1

根据定义,分页状态是二进制的,不会表示为字符串。

只需将其编码为 base64、带引号的可打印、uuencode 或十六进制字符串 - 例如使用内置的binascii模块。那里有很多功能,例如hexlify将字节转换为十六进制字符串。

于 2021-04-25T15:04:40.587 回答