diff --git a/samp-query.js b/samp-query.js index 2c0a0eb..2c6fc8b 100644 --- a/samp-query.js +++ b/samp-query.js @@ -201,17 +201,9 @@ var request = function(options, opcode, callback) { }) } +const iconv = require('iconv-lite'); var decode = function(buffer) { - var charset = '' - for (var i = 0; i < 128; i++) charset += String.fromCharCode(i) - charset += '€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�' - var charsetBuffer = Buffer.from(charset, 'ucs2') - var decodeBuffer = Buffer.alloc(buffer.length * 2) - for(var i = 0; i < buffer.length; i++) { - decodeBuffer[i * 2] = charsetBuffer[buffer[i] * 2] - decodeBuffer[i * 2 + 1] = charsetBuffer[buffer[i] * 2 + 1] - } - return decodeBuffer.toString('ucs2') + return iconv.decode(buffer, 'win1251'); } module.exports = query