/// CRC32 immutable lookup table data.
const kCRC32LUT = [
0 ,
0 x77073096,
0 xee0e612c,
0 x990951ba,
0 x076dc419,
0 x706af48f,
0 xe963a535,
0 x9e6495a3,
0 x0edb8832,
0 x79dcb8a4, 0 xe0d5e91e, 0 x97d2d988, 0 x09b64c2b, 0 x7eb17cbd, 0 xe7b82d07, 0 x90bf1d91, 0 x1db71064,
0 x6ab020f2, 0 xf3b97148, 0 x84be41de, 0 x1adad47d, 0 x6ddde4eb, 0 xf4d4b551, 0 x83d385c7, 0 x136c9856,
0 x646ba8c0, 0 xfd62f97a, 0 x8a65c9ec, 0 x14015c4f, 0 x63066cd9, 0 xfa0f3d63, 0 x8d080df5, 0 x3b6e20c8,
0 x4c69105e, 0 xd56041e4, 0 xa2677172, 0 x3c03e4d1, 0 x4b04d447, 0 xd20d85fd, 0 xa50ab56b, 0 x35b5a8fa,
0 x42b2986c, 0 xdbbbc9d6, 0 xacbcf940, 0 x32d86ce3, 0 x45df5c75, 0 xdcd60dcf, 0 xabd13d59, 0 x26d930ac,
0 x51de003a, 0 xc8d75180, 0 xbfd06116, 0 x21b4f4b5, 0 x56b3c423, 0 xcfba9599, 0 xb8bda50f, 0 x2802b89e,
0 x5f058808, 0 xc60cd9b2, 0 xb10be924, 0 x2f6f7c87, 0 x58684c11, 0 xc1611dab, 0 xb6662d3d, 0 x76dc4190,
0 x01db7106, 0 x98d220bc, 0 xefd5102a, 0 x71b18589, 0 x06b6b51f, 0 x9fbfe4a5, 0 xe8b8d433, 0 x7807c9a2,
0 x0f00f934, 0 x9609a88e, 0 xe10e9818, 0 x7f6a0dbb, 0 x086d3d2d, 0 x91646c97, 0 xe6635c01, 0 x6b6b51f4,
0 x1c6c6162, 0 x856530d8, 0 xf262004e, 0 x6c0695ed, 0 x1b01a57b, 0 x8208f4c1, 0 xf50fc457, 0 x65b0d9c6,
0 x12b7e950, 0 x8bbeb8ea, 0 xfcb9887c, 0 x62dd1ddf, 0 x15da2d49, 0 x8cd37cf3, 0 xfbd44c65, 0 x4db26158,
0 x3ab551ce, 0 xa3bc0074, 0 xd4bb30e2, 0 x4adfa541, 0 x3dd895d7, 0 xa4d1c46d, 0 xd3d6f4fb, 0 x4369e96a,
0 x346ed9fc, 0 xad678846, 0 xda60b8d0, 0 x44042d73, 0 x33031de5, 0 xaa0a4c5f, 0 xdd0d7cc9, 0 x5005713c,
0 x270241aa, 0 xbe0b1010, 0 xc90c2086, 0 x5768b525, 0 x206f85b3, 0 xb966d409, 0 xce61e49f, 0 x5edef90e,
0 x29d9c998, 0 xb0d09822, 0 xc7d7a8b4, 0 x59b33d17, 0 x2eb40d81, 0 xb7bd5c3b, 0 xc0ba6cad, 0 xedb88320,
0 x9abfb3b6, 0 x03b6e20c, 0 x74b1d29a, 0 xead54739, 0 x9dd277af, 0 x04db2615, 0 x73dc1683, 0 xe3630b12,
0 x94643b84, 0 x0d6d6a3e, 0 x7a6a5aa8, 0 xe40ecf0b, 0 x9309ff9d, 0 x0a00ae27, 0 x7d079eb1, 0 xf00f9344,
0 x8708a3d2, 0 x1e01f268, 0 x6906c2fe, 0 xf762575d, 0 x806567cb, 0 x196c3671, 0 x6e6b06e7, 0 xfed41b76,
0 x89d32be0, 0 x10da7a5a, 0 x67dd4acc, 0 xf9b9df6f, 0 x8ebeeff9, 0 x17b7be43, 0 x60b08ed5, 0 xd6d6a3e8,
0 xa1d1937e, 0 x38d8c2c4, 0 x4fdff252, 0 xd1bb67f1, 0 xa6bc5767, 0 x3fb506dd, 0 x48b2364b, 0 xd80d2bda,
0 xaf0a1b4c, 0 x36034af6, 0 x41047a60, 0 xdf60efc3, 0 xa867df55, 0 x316e8eef, 0 x4669be79, 0 xcb61b38c,
0 xbc66831a, 0 x256fd2a0, 0 x5268e236, 0 xcc0c7795, 0 xbb0b4703, 0 x220216b9, 0 x5505262f, 0 xc5ba3bbe,
0 xb2bd0b28, 0 x2bb45a92, 0 x5cb36a04, 0 xc2d7ffa7, 0 xb5d0cf31, 0 x2cd99e8b, 0 x5bdeae1d, 0 x9b64c2b0,
0 xec63f226, 0 x756aa39c, 0 x026d930a, 0 x9c0906a9, 0 xeb0e363f, 0 x72076785, 0 x05005713, 0 x95bf4a82,
0 xe2b87a14, 0 x7bb12bae, 0 x0cb61b38, 0 x92d28e9b, 0 xe5d5be0d, 0 x7cdcefb7, 0 x0bdbdf21, 0 x86d3d2d4,
0 xf1d4e242, 0 x68ddb3f8, 0 x1fda836e, 0 x81be16cd, 0 xf6b9265b, 0 x6fb077e1, 0 x18b74777, 0 x88085ae6,
0 xff0f6a70, 0 x66063bca, 0 x11010b5c, 0 x8f659eff, 0 xf862ae69, 0 x616bffd3, 0 x166ccf45, 0 xa00ae278,
0 xd70dd2ee, 0 x4e048354, 0 x3903b3c2, 0 xa7672661, 0 xd06016f7, 0 x4969474d, 0 x3e6e77db, 0 xaed16a4a,
0 xd9d65adc, 0 x40df0b66, 0 x37d83bf0, 0 xa9bcae53, 0 xdebb9ec5, 0 x47b2cf7f, 0 x30b5ffe9, 0 xbdbdf21c,
0 xcabac28a, 0 x53b39330, 0 x24b4a3a6, 0 xbad03605, 0 xcdd70693, 0 x54de5729, 0 x23d967bf, 0 xb3667a2e,
0 xc4614ab8, 0 x5d681b02, 0 x2a6f2b94, 0 xb40bbe37, 0 xc30c8ea1, 0 x5a05df1b, 0 x2d02ef8d,
];
/**
* @param str the input string
* @returns the CRC32 of the input string
* @see https://en.wikipedia.org/wiki/Cyclic_redundancy_check#CRC-32_algorithm
*/
export function crc32(str: string): number {
const utf8 = new TextEncoder().encode(str);
const u32 = new Uint32Array(1 );
u32[0 ] = 0 xffffffff;
for (const c of utf8) {
u32[0 ] = (u32[0 ] >>> 8 ) ^ kCRC32LUT[(u32[0 ] & 0 xff) ^ c];
}
u32[0 ] = u32[0 ] ^ 0 xffffffff;
return u32[0 ];
}
/** @returns the input number has a 8-character hex string */
export function toHexString(number: number): string {
return ('00000000' + number.toString(16 )).slice(-8 );
}
Messung V0.5 in Prozent C=92 H=93 G=92
¤ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet am 2026-06-04)
¤
*© Formatika GbR, Deutschland