俗话说,纸上得来终觉浅,绝知此事要躬行;
前辈问我cookie的存储量有多大,我按部就班的回答 4k左右;
前辈又问,那么cookie能存储多少个汉字?
4k 大概 4000字节,一个汉字 2 个字节,那差不多 2000个吧;
前辈又问:确定么
到此就困惑了;
下面通过 chrome 浏览器的 cookie 进行测试:
注意,项目在本地服务器环境下启动测试,否则无法完成设置,本测试置于 xampp 的 apache 环境中
首先测试 4000个数字,也就是单字节数据的 cookie 设置
var temp = "0123456789"; //0~9 十个数字
var str = '';
for(var y = 0 ;y < 400; y++){
str = str + temp;
}
document.cookie = "ceshi=" + str;
console.log("测试数据", document.cookie);
// 从控制台 Application 选项下的 Storage 下的 Cookies 中,我们可以看到相关信息,找到 size = 4005
从上面的结果我们可以看到,4000个数字 + "ceshi" 五个单字节字母,和 size=4005 是吻合的;
下面换成汉字试一下:
var temp = "测试啊"; // 三个汉字
var str = '';
for(var y = 0 ;y < 400; y++){
str = str + temp;
}
document.cookie = "ceshi=" + str;
console.log("测试数据", document.cookie);
// 从控制台 Application 选项下的 Storage 下的 Cookies 中,我们可以看到相关信息,找到 size = 3605
我们上面使用了 3*400 = 1200 个汉字,但是最后的结果却是 3605;
去除 "ceshi" 五个单字节字母,那么一个汉字占据了三个字节,而不是两个字节;
这么计算的话 4000 / 3 大概也就是 1300 左右的汉字;
暂时到这,后续还有很多问题,稍后更新....