Muranx
@Muranx
кто понял this тот в цирке не смеётся

Как buffer в node.js переводит символ « № »?

Здравствуйте!

let buff = Buffer.from('A');

console.log('A'.charCodeAt( 0 )); // 65
console.log(buff); // <Buffer 41>
console.log(buff.length); // 1

В данном случае вроде всё понятно, создаём буфер, в него передаём букву " А ", её код из таблицы кодировок 65, в 16-тиричной системе счисления получается 41 (на сколько мне известно для отображения используется именно 16тирич. с.с.), ну а при передачи этой буквы " А " допустим при чтении файла или записи на самом деле передаётся код в двоичной с.с., который (если мне не изменяет конвертер) равен " 1000001 ".

Вопрос 1 : правильно ли мною описан просиходящее выше?

Вопрос 2 : 41 это двоичное представление байта (извиняюсь за карявую интерпритацию), который по идее состоит из 8 бит так ведь? Т.е. если 41(16тирич.) === 1000001(2ичн.) , то бит не хватает, и они дописываются в начало, т.е. при передаче это будет 01000001, т.е. +1 нолик (0) в начале ?

let buff = Buffer.from('№');
console.log('№'.charCodeAt( 0 )); // 8470
console.log(buff); // <Buffer e2 84 96>
console.log(buff.length); // 3

Тут вообще мрак, как происходит заполнение этих "октетов" , они считаются по отдельности? Т.е. если переводить в ручную то это будет выглядеть так ?. . .

e2(16тирич.) === 11100010

84(16тирич.) === 10000100

96(16тирич.) === 10010110

Или нет? Просьба либо объяснить в чем мои ошибки, или где я всё таки прав, или ответить на вопросы с пояснениями, т.к. столкнулся с такой проблемой, что все объясняют повсюду, что в буфере есть байты, и они хранят коды символов, и приводят пару талых примеров с какойнибудь строкой "hello", что мол типо каждый байт это двоичное представление буквы, му, а как это всё переводится никто не упоминает, либо я просто не нашёл, в первые в жизни я бы даже был доволен качественной ссылкой на статью, в которой бы была расписана эта подноготная, т.к. я даже не знаю что искать, как называется этот процесс перевода в контексте объекта buffer! Спасибо!
  • Вопрос задан
  • 33 просмотра
Решения вопроса 1
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Яндекс Москва
от 100 000 до 300 000 ₽
Яндекс Санкт-Петербург
от 100 000 до 300 000 ₽
Кенарий Санкт-Петербург
от 120 000 до 300 000 ₽
24 сент. 2020, в 09:09
2000 руб./за проект
24 сент. 2020, в 08:35
50000 руб./за проект
24 сент. 2020, в 08:23
10000 руб./за проект