/** * Dekodiert hochgeladene CSV-Bytes zu Text (quick-261002-fm5). * * Excel und Warenwirtschaftssysteme liefern CSV entweder als UTF-8 (mit oder * ohne Byte-Order-Mark) oder als Windows-1252. Zuerst wird streng als UTF-8 * gelesen: sind die Bytes kein gueltiges UTF-8 (typisch bei Umlauten in * Windows-1252), faellt die Funktion auf Windows-1252 zurueck. `TextDecoder` * verwirft ein fuehrendes BOM standardmaessig. * * Gemeinsam genutzt von Kantinenabrechnung und Handelsware. */ export function decodeCsvText(buffer: Buffer): string { try { return new TextDecoder('utf-8', { fatal: true }).decode(buffer); } catch { return new TextDecoder('windows-1252').decode(buffer); } }