3

我需要序列化 ​​svg 图像,以便可以将其存储到 cookie 中。

我需要设置 cookie,然后在它们返回时反序列化 svg 图像。

所以基本上我的问题归结为将 svg 序列化为可以存储在 cookie 中的东西。我怎样才能做到这一点?

我知道 php 中有 serialize() 和 unserialize(),但是 serialize 采用混合值,我不确定 svg 是否属于该类别。

我对混合值进行了一些研究,看起来它可以接受structarrays int、 等,但不能接受 svg。如果我对此有误,请告诉我,因为使用序列化和反序列化会使事情变得更容易。

谢谢你。

4

1 回答 1

2

好吧,可缩放矢量图形只是 XML,因此只是文本(通常是 UTF-8 编码,尽管它应该与 ASCII 相同,除非您明确添加任何非 ASCII 字符)。然而 SVG 字符串将包含 cookie 中不允许的特殊字符,因此您需要转义这些(分号、逗号和空格应该转义,如果我没记错的话,您可以使用 php 中的 urlencode 函数)。这就是序列化方面的全部内容。最大的问题可能是大小限制:cookie 不得超过 4096 个字符,包括名称的长度。对于更复杂的 SVG,这可能太少了。

于 2012-07-09T19:13:25.947 回答