Зачем карту над Unit8Array ведет себя странно?Javascript

Форум по Javascript
Ответить
Anonymous
 Зачем карту над Unit8Array ведет себя странно?

Сообщение Anonymous »

Я пытаюсь получить MimeType из буфера изображения или ArrayBuffer. Но я сталкиваюсь с странной проблемой. < /P>
Я использую следующий код для преобразования байтов подписи в шестнадцатеричную строку. < /P>


'snippet-code-js lang-js-griteprint-over-over-overrideconst uint8Array = new Uint8Array([137, 80, 78, 71]);
const signatureLength = 4;
const signature1 = uint8Array.slice(0, signatureLength).map(byte => {
const signature = byte.toString(16).padStart(2, "0");
console.log("signature --- ", signature, byte, typeof signature);
return signature;
});
const signature = signature1.join("").toUpperCase();
console.log("signature 1 --- ", signature1, signature);< /code>
< /div>
< /div>
< /p>
Как вы можете видеть в выходе консоли, 78 фактически преобразуется в '4e', но в результате карты он сохраняется как 0. Это поведение кажется очень странным. Что здесь идет?


Подробнее здесь: https://stackoverflow.com/questions/794 ... es-strange
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»