如何使用JavaScript估计字符串的磁盘大小?

Osc*_*son 8 javascript string base64 diskspace string-length

我需要尝试在JavaScript中估计文本字符串的DISK大小(可以是原始文本或图像/音频/等的Base64编码字符串).我不知道如何估计这一点.谷歌搜索我唯一可以找到的是.length我认为也许StackOverflow上的某个人可能知道......

我需要知道的原因是我有一个localStorage脚本需要(或者很想拥有)能够检查用户何时接近他的5MB(或IE中的10MB)配额并提示他们增加域的最大大小.因此,如果一个用户点击,比方说,它会提示4.5MB的数据

你的浏览器接近5MB数据上限.请通过以下方式增加最大数据... [有关为浏览器增加数据的说明]

sim*_*aun 2

它不会很准确,但您可以计算字符串中的字节数以获得粗略的估计。

\n\n

function bytes(string) {\n    var escaped_string = encodeURI(string);\n    if (escaped_string.indexOf("%") != -1) {\n        var count = escaped_string.split("%").length - 1;\n        count = count == 0 ? 1 : count;\n        count = count + (escaped_string.length - (count * 3));\n    }\n    else {\n        count = escaped_string.length;\n    }

\n\n

return count;\n
Run Code Online (Sandbox Code Playgroud)\n\n

}

\n\n

var mystring = \'t\xc3\xa2\';\nalert(bytes(mystring));

Run Code Online (Sandbox Code Playgroud)

\n