lirongfei123
9/20/2016 - 3:59 AM

获取字符串的字节长度

function getStringMemorySize(_string) {
    "use strict";
    var codePoint, accum = 0;
    for (var stringIndex = 0, endOfString = _string.length; stringIndex < endOfString; stringIndex++) {
        codePoint = _string.charCodeAt(stringIndex);

        if (codePoint < 0x100) {
            accum += 1;
            continue;
        }

        if (codePoint < 0x10000) {
            accum += 2;
            continue;
        }

        if (codePoint < 0x1000000) {
            accum += 3;
        } else {
            accum += 4;
        }
    }
    return accum * 2;
}