首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError: RoaringBitmap32::add -需要32位无符号整数- Nodejs

TypeError: RoaringBitmap32::add -需要32位无符号整数- Nodejs
EN

Stack Overflow用户
提问于 2019-07-25 10:09:27
回答 1查看 65关注 0票数 0

我正在使用roaring bitmaps来存储ip地址列表。

代码语言:javascript
复制
  const RoaringBitmap32 = require('roaring/RoaringBitmap32');
  const bitmap2 = new RoaringBitmap32([]);
  bitmap2.add("153.171.110.82");
  console.log('bitmap2.toArray():', bitmap2.toArray());

当我运行上面的程序时,我得到下面的错误-

代码语言:javascript
复制
/Users/rajkumar.natarajan/Documents/Coding/contango/scripts/rr_bitmaps_demo.js:3
bitmap2.add("153.171.110.82");
        ^

TypeError: RoaringBitmap32::add - 32 bit unsigned integer expected
    at Object.<anonymous> (/Users/rajkumar.natarajan/Documents/Coding/contango/scripts/rr_bitmaps_demo.js:3:9)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)
    at Function.Module.runMain (module.js:694:10)
    at startup (bootstrap_node.js:204:16)
    at bootstrap_node.js:625:3

有什么办法可以解决这个错误吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-25 19:27:09

您首先需要按照错误提示将您的IP转换为32位整数。IPv4由4个块组成,每个块是8位,所以它总共是32位。

你可以写你自己的转换函数,我相信这应该不会太难,但如果这对你来说是有问题的,那么应该有一些npm包可以使用。例如,我找到了this one

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57193344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档