From 7b2e6df07286ed1bc645c4dc8c84a8f0e9d5ad95 Mon Sep 17 00:00:00 2001 From: kashadeveloper <79090088+kashadeveloper@users.noreply.github.com> Date: Thu, 3 Jun 2021 18:31:47 +0300 Subject: [PATCH] fixed decode Decoding of Cyrillic characters is now correct --- samp-query.js | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) 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