function crc32str(crc, str, len, pos) {
    var t = crcTable, end = pos + len;

    crc = crc ^ (-1);

    for (var i = pos; i < end; i++ ) {
        crc = (crc >>> 8) ^ t[(crc ^ str.charCodeAt(i)) & 0xFF];
    }

    return (crc ^ (-1)); // >>> 0;
}
Compute the crc32 of a string.
This is almost the same as the function crc32, but for strings. Using the
same function for the two use cases leads to horrible performances.
@param {Number} crc the starting value of the crc.
@param {String} str the string to use.
@param {Number} len the length of the string.
@param {Number} pos the starting position for the crc32 computation.
@return {Number} the computed crc32.