9 lines
361 B
AutoHotkey
9 lines
361 B
AutoHotkey
CRC32(str, enc = "UTF-8")
|
|
{
|
|
l := (enc = "CP1200" || enc = "UTF-16") ? 2 : 1, s := (StrPut(str, enc) - 1) * l
|
|
VarSetCapacity(b, s, 0) && StrPut(str, &b, floor(s / l), enc)
|
|
CRC32 := DllCall("ntdll.dll\RtlComputeCrc32", "UInt", 0, "Ptr", &b, "UInt", s)
|
|
return Format("{:#x}", CRC32)
|
|
}
|
|
|
|
MsgBox % CRC32("The quick brown fox jumps over the lazy dog")
|