Google app engine 在NDB中,密钥的id是二进制安全的吗?

Google app engine 在NDB中,密钥的id是二进制安全的吗?,google-app-engine,app-engine-ndb,Google App Engine,App Engine Ndb,在NDB中,密钥的id是二进制安全的吗 我想使用一些二进制字符串作为id^ ^(例如比特币交易的txid.decode('hex'))它可能是,也可能不是(它不是设计的),利用uuid库可能更好 import uuid client_id = str(uuid.uuid4()).replace("-",'') 键可以使用数字id或字符串名称 在您的情况下,您可以将二进制字符串转换为十六进制,并将其存储为字符串作为名称。我不会指望字符串id中的空字节总是往返。在什么情况下,二进制序列可能不会转

在NDB中,密钥的id是二进制安全的吗

我想使用一些二进制字符串作为id^ ^(例如比特币交易的txid.decode('hex'))

它可能是,也可能不是(它不是设计的),利用uuid库可能更好

import uuid

client_id = str(uuid.uuid4()).replace("-",'')

键可以使用数字id或字符串名称


在您的情况下,您可以将二进制字符串转换为十六进制,并将其存储为字符串作为名称。

我不会指望字符串id中的空字节总是往返。在什么情况下,二进制序列可能不会转换为十六进制字符串?是否将空字节转换为0?它体积庞大且不节省空间,但我不确定在哪里会遇到转换问题。除非在一端有一个非字节对齐的位数。