diff --git a/lib/nrc-parser-manager.js b/lib/nrc-parser-manager.js index 3281083..4bc0183 100644 --- a/lib/nrc-parser-manager.js +++ b/lib/nrc-parser-manager.js @@ -131,6 +131,15 @@ parserManager.add(Object.assign({ var jsonData, data = byteBuffer.toString(); + // Remove possible byte order marks for UTF-8/16/32. + // For more infos see: + // https://de.wikipedia.org/wiki/Byte_Order_Mark + // https://tools.ietf.org/html/rfc7159#section-8.1 + var bom = [ 0xEFBB, 0xFEFF, 0xFFFE, 0x0000 ]; + if (bom.includes(data.charCodeAt(0))) { + data = data.slice(1) + } + try { jsonData = this.isValidData(data)?JSON.parse(data):data; } catch (err) {