Как преобразовать двоичный поток в его шестнадцатеричное представление (или UTF8) - PullRequest
0 голосов
/ 31 мая 2019

Я написал TCP-сервер node-js, который получает двоичные данные (байты) от клиента. Например, клиент может отправлять данные как 23 53 7f ff ff fc ... Как вы можете видеть, данные состоят из печатных символов ascii и не могут быть распечатаны как таковые (это не строка). Для печатных символов код работает нормально. Например, для 23 и 53 сценарий получает 23 (#) и 53 (S) проблему с байтами, такими как C2, когда я получаю EFBFBD на конце узла js. Это проблема с кодировкой, но я не уверен.

Я использую Packet Sender 6.0, инструмент с открытым исходным кодом для проверки функциональности

Я пытался использовать типизированный буфер, скачал компонент utf для узла js, пробовал разные кодировки.

manager.forwardMessage = function(listenerName, message, callback) {
//    var convertedMessage = utf8.encode(message);
//    var convertedMessage = new Buffer(message).toString('hex'); // This line prints EFBFBD for C2.

Далее я попытаюсь написать некоторый сокет-клиент на Java и отправить пакеты. Есть еще идеи? Любая помощь по тому, что мне не хватает, действительно полезна. Потратил несколько дней на это:).

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...