【发布时间】:2013-11-03 06:18:31
【问题描述】:
我一直在使用localStorage以字符串格式存储一些二进制数据,虽然该值是肯定设置的(设置后立即alerting它,甚至设置后一段时间显示正确的值)它丢失了下次加载页面时。
起初我认为这可能是因为数据包含空字节,所以我重新设计了压缩器,使其永远不会输出它们。但是,这并没有什么区别,因为价值仍然丢失。
我在设置二进制数据后立即添加了localStorage.testing = 1。即使另一个值丢失,这个值也会保留。
我绝对确定delete localStorage.myitem 没有代码。
什么可能导致这个问题?
如果有帮助,这里是我要存储的数据,以十六进制表示:
0x1103c0a0 0xd6cf0305 0xc0a0d6cf 0x0307c0a0 0xd6cf0309 0xc0a0d6cf
0x030bc0a0 0xd6cf030d 0xc0a0d6cf 0x0311c0a0 0xd6cf0313 0xc0a0d6cf 0x0301
编辑:我刚刚使用localStorage.testvalue = realvalue.replace(/[\x00-\x1f]/g,''); 进行了测试,并且成功保存了它。所以,我想知道规范在哪里说不能在字符串中使用控制字符。
【问题讨论】:
标签: html local-storage binary-data