std::string BytesUtil::ToStringBinary()

in src/hbase/utils/bytes-util.cc [65:85]


std::string BytesUtil::ToStringBinary(const std::string &b, size_t off, size_t len) {
  std::string result;
  // Just in case we are passed a 'len' that is > buffer length...
  if (off >= b.size()) {
    return result;
  }
  if (off + len > b.size()) {
    len = b.size() - off;
  }
  for (size_t i = off; i < off + len; ++i) {
    int32_t ch = b[i] & 0xFF;
    if (ch >= ' ' && ch <= '~' && ch != '\\') {
      result += ch;
    } else {
      result += "\\x";
      result += kHexChars[ch / 0x10];
      result += kHexChars[ch % 0x10];
    }
  }
  return result;
}