Получить монго-оболочку BinData в виде строки - PullRequest
0 голосов
/ 30 ноября 2018

Как преобразовать объект BinData, содержащий текст в кодировке UTF-8, в строку?

Я использую MongoDB shell (команда mongo).По сути, это интерактивная консоль Javascript (я думаю, что это SpiderMonkey), но нет такого объекта Buffer, как в Node.js, для работы с форматом hex или base64, предоставляемым объектом BinData.

1 Ответ

0 голосов
/ 30 ноября 2018

Я могу использовать преобразование из BinData в шестнадцатеричное и затем анализировать шестнадцатеричную строку.

function hex2a(hexStr) {
  var s = ''; 
  for (let i=0; i<hexStr.length; i+=2) 
    s += String.fromCharCode(parseInt(hexStr.substr(i, 2), 16));
  return s;
}

hex2a(BinData(0,"aGVsbG8=").hex())
// returns "hello"

Но это работает правильно только с ASCII.

...