【问题标题】:Get mongo shell BinData as string获取 mongo shell BinData 作为字符串
【发布时间】:2019-05-02 12:41:20
【问题描述】:

如何将包含 UTF-8 编码文本的 BinData 对象转换为字符串?

我正在使用MongoDB shellmongo 命令)。它基本上是 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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-29
      • 2017-01-01
      • 1970-01-01
      相关资源
      最近更新 更多