Buffer() в кодировке Windows-1252

256
12 января 2017, 07:14

Привет.

BattleNode.prototype.commandPacket = function (command) {  
  var data = new Buffer(command.length + 3);
  data.writeUInt8(0xFF, 0);
  data.writeUInt8(BE_COMMAND_PACKET, 1);
  data.writeUInt8(this.sequence, 2);
  data.write(command, 3);
  this.sequence = (this.sequence >= 255) ? 0 : this.sequence + 1;
  var packet = this.createBEPacket(data);
  return packet;
}
BattleNode.prototype.createBEPacket = function(payload) {
  var packet = new Buffer(payload.length + 6); // payload + header
  var header = new Buffer([0x42, 0x45, 0x00, 0x00, 0x00, 0x00]);
  var crc = crc32(payload);
  header.writeInt32BE(crc.readInt32LE(0), 2);
  header.copy(packet);
  payload.copy(packet, 6);
  return packet;
}

// Переменная command приходит уже в кодировке Windows-1252. И нужно чтобы буффер создавался с этой же кодировкой.

Пробовал через iconv-lite. Ничего вразумительного не вышло. Может есть идеи?

Answer 1

Начнём по порядку, я не гуру js но, Buffer не имеет кодировки ,это просто набор байтов, что касается iconv-lite то он прекрасно преобразует строки между кодировками, например этот код преобразует string в Buffer с win1251

var string = iconv.encode("Тут строка, большая строка", 'win1251');
READ ALSO
Остановка (пауза) видео Youtube

Остановка (пауза) видео Youtube

Помогите чайникуСитуация такова: модальное окно на CSS, в нем карусель видео с ютуба, при закрытии модали - воспроизведение продолжается

702
Задачка с сортировкой массива

Задачка с сортировкой массива

Есть такой массив объектов

287
Как вставить элемент из переменной

Как вставить элемент из переменной

В переменной b хранится клон объекта span и вместо того чтобы вставился элемент Текст вставляется вот это [object Object]

332
Обратный transition-эффект при ховере до тех пор, пока анимация не закончится

Обратный transition-эффект при ховере до тех пор, пока анимация не закончится

Хотел придумать так, чтобы сделать анимацию при ховере выполняющейся до тех пор, пока сама анимация закончитсяТо есть если подносить мышку...

337