【问题标题】:Get mongo shell BinData as string获取 mongo shell BinData 作为字符串
【发布时间】:2019-05-02 12:41:20
【问题描述】:
如何将包含 UTF-8 编码文本的 BinData 对象转换为字符串?
我正在使用MongoDB shell(mongo 命令)。它基本上是 Javascript 交互式控制台(我认为是 SpiderMonkey),但没有像 Node.js 中那样使用 BinData 对象提供的十六进制或 base64 格式的 Buffer 对象。
【问题讨论】:
标签:
javascript
mongodb
utf-8
decode
mongo-shell
【解决方案1】:
我可以使用 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。