Декодирование Base64 из буфера в буфер эффективно в узле (node.js) - PullRequest
3 голосов
/ 25 октября 2010

В настоящее время у меня есть версия wsproxy для Python и C (WebSockets для простого прокси TCP-сокета) в noVNC . Я хотел бы создать версию wsproxy, используя node.js. Ключевой фактор (и причина, по которой я не просто использую код WebSocket существующего узла) заключается в том, что до тех пор, пока стандарт WebSocket не имеет двоичного кодирования, весь трафик между wsproxy и браузером / клиентом должен быть закодирован (и декодирование / кодирование base64 выполняется быстро и легко в браузере).

Типы буферов имеют поддержку кодирования base64, но это от буфера до строки и наоборот. Как можно base64 кодировать / декодировать между двумя буферами без необходимости сначала преобразовывать в строку?

Ограничения:

  • Прямой Буфер в буфер (если только вы не можете показать, что Buffer-> string-> Buffer такой же быстрый).
  • Так как узел имеет встроенную поддержку base64, я хотел бы использовать это и не внешние модули .
  • Допускается кодирование / декодирование на месте в одном буфере.

Здесь - обсуждение поддержки base64 в узле, но, насколько я вижу, не отвечает на мой вопрос.

1 Ответ

0 голосов
/ 23 февраля 2011

Вы должны быть в состоянии сделать это с помощью потоков, но сначала прочитайте этот блог о декодировании UTF-8 , потому что вы, вероятно, столкнетесь с подобными проблемами.Я не предлагаю вам выполнять кодирование / декодирование UTF-8, если вам это не нужно, но вы посмотрите, как этот код обрабатывает проблему разбивки одного символа на несколько байтов, разделенных границей фрагмента.

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