惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The Cloudflare Blog
L
LangChain Blog
WordPress大学
WordPress大学
V
V2EX
M
MIT News - Artificial intelligence
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Stack Overflow Blog
Stack Overflow Blog
J
Java Code Geeks
F
Fortinet All Blogs
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
腾讯CDC
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
D
Docker
Recent Announcements
Recent Announcements
GbyAI
GbyAI
博客园 - 叶小钗
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
T
The Blog of Author Tim Ferriss
人人都是产品经理
人人都是产品经理
Engineering at Meta
Engineering at Meta
Y
Y Combinator Blog
雷峰网
雷峰网
The GitHub Blog
The GitHub Blog

JavaScript

发现国内很多文章对宏任务和微任务的解释都是有问题的 智能香氛机小程序外包合作招募 分享一道 Node.js 的面试题,考察 JS 相关的最基本的掌握程度,代码完全来自官方文档 你们 js 用过双等号吗 有人大量建立技术文档的.cn 中文站点,并将站内 js 链接指向 cdn.jsdelivr.net.cn 发现了两个关于 JavaScript 语言好玩的网站,让人血压升高 js 判空值 最佳实践 简单的图像算法为什么 AI 搞不定呢 Capacitor.JS 如何自动化最后一步流程 JSON.parse 转数字精度丢失问题 有没有前端大佬,帮我看一下这个网站底部的粒子动画怎么做的。 这段前端代码存在并发读取竞态的问题吗? nstr - number → string, but looks good 前端 js 播放 base64 编码的 mp3,放出来杂音很大,请教是哪里出错了? 熟悉工业计算的来,是阀门相关的企业 js 不使用 promise 完成一个 sleep 函数,必须支持 await 调用 小米手机澎湃系统 AutoJS 的悬浮窗在证券软件打开时就消失 关于 js 复制粘贴问题 求助,无法在 wixsite.com 上使用 document.write threejs 官方文档看着好难受。 有没有 AI 能一步一步教会伸手党如何使用业务系统? 也聊下自己最近用 copilot 写程序的心得,还要讨教下方案 javascript 继续 套壳 AI 应用类 manus 如何在移动端 h5 页面实现<Select/>搜索下拉选择框! 求前端高频数据绘图库 吐槽一下 Trae 记忆中好像在论坛看到有款专门在 iframe 中做前端的 js 库/框架? JavaScript 中的 Promise 跟异步有关系吗?还是我的理解有问题?谁能把 Promise 解释清楚? Promise 的正确用法应该是什么样的? 求问,小程序的菜单栏怎么和右边的功能键垂直居中? 自习室小程序的座位图是如何实现的(前端)
Python 代码转换为 Javascript 运算结果不一致
f360family123 · 2024-12-07 · via JavaScript
def cid_hash_file(path):
    h = hashlib.sha1()
    size = os.path.getsize(path)
    with open(path, 'rb') as stream:
        if size < 0xF000:
            h.update(stream.read())
        else:
            h.update(stream.read(0x5000))
            stream.seek(int(size/3))
            h.update(stream.read(0x5000))
            stream.seek(size-0x5000)
            h.update(stream.read(0x5000))
    return h.hexdigest().upper()

上面的代码用 chatGPT 转换后是这样的

function cidHashFile(path) {
  const h = crypto.createHash('sha1');
  const size = fs.statSync(path).size;
  const stream = fs.createReadStream(path);

  if (size < 0xF000) {
    stream.on('data', (chunk) => {
      h.update(chunk);
    });
  } else {
    stream.on('data', (chunk) => {
      if (stream.bytesRead <= 0x5000) {
        h.update(chunk);
      } else if (stream.bytesRead >= Math.floor(size / 3) && stream.bytesRead < Math.floor(size / 3) + 0x5000) {
        h.update(chunk);
      } else if (stream.bytesRead >= size - 0x5000) {
        h.update(chunk);
      }
    });
  }

  stream.on('end', () => {
    const result = h.digest('hex').toUpperCase();
    console.log(result);
  });

  stream.on('error', (err) => {
    console.error('File reading error:', err);
  });
}

试了不同文件计算出来的 hash 不一致,有没有大佬知道原因的?