Python / Google App Engine中的cookie值str或unicode应该使用什么类型?

What type should be used for cookies values str or unicode in Python/Google App Engine?

在python/google app引擎中,cookies值str或unicode应该使用什么类型?

这个问题很小,但非常重要-我想把二进制信息加密到cookie中,并了解限制。

在阅读了一些规范之后,我发现我应该使用http://docs.python.org/2/library/cookie.html——无论这个库允许什么str和unicode。

从编码二进制cookie开始出现问题:

此代码不起作用-str不能是unicode

1
''.join([chr(x) for x in range(256)]).decode('utf8')

此代码将起作用,但应选择"Latin1"或"Base64"哪种编码:

1
2
''.join([chr(x) for x in range(256)]).decode('latin1')
''.join([chr(x) for x in range(256)]).decode('base64')

我应该只使用str设置cookie或headers,而不使用unicode,不关心编码吗?

当然,我会使用Cookie().value_encode(value)for str来跟踪RFC和特定于浏览器的行为?

你能提出一些实用的解决办法吗?


cookie链中可能不可靠的链接是http(s)代理服务器和用户代理(如浏览器和客户端应用程序)。服务器发送cookie。这些用各种计算机语言创建的远程程序可以根据自己的"字符串"概念处理cookie,以各种文件格式存储cookie,然后将cookie返回到服务器。由于存在如此多的潜在故障点,cookies中二进制数据的最安全选项必须是base64。