в node.js
const buffer = Buffer.from('000000a6', 'hex');
console.log(buffer); // <Buffer 00 00 00 a6>
const bufferString = buffer.toString();
const newBuffer = Buffer.from(bufferString);
console.log(newBuffer); // <Buffer 00 00 00 ef bf bd>
Зачем преобразовывать буфер в строку, а затем преобразовывать строку обратно в буфер, если новый буфер отличается от исходного?
Я пробовал toString ('hex') toString ('binary') или другой код, например ascii и т. Д. Все эти кодировки изменили исходный буфер.
buffer.toString (кодировать) использовать кодировку по умолчанию utf8, Buffer.from (строка, кодировать) также использовать кодировку по умолчанию utf8, она все еще отличается.
Как я могу преобразовать буфер в строку и преобразовать его обратно в буфер точно так же, как исходный буфер?
PS: Этот вопрос возникает, когда я хочу отправить тело запроса в виде буфера. Я просто отправляю на сервер, но сервер попадает.
PPS: Сервер мне не подвластен. Поэтому я не могу использовать Buffer.from (string, 'hex') для анализа тела запроса buffer.toString ('hex').