gpt4 book ai didi

Powershell 大十六进制范围

转载 作者:行者123 更新时间:2023-12-05 09:28:41 24 4
gpt4 key购买 nike

我正在尝试从 a000000000-afffffffff 生成一个十六进制范围,但这些值对于 Int32 来说太大了。出现错误 无法将值“687194767360”转换为类型“System.Int32”。错误:“值对于 Int32 来说太大或太小。”

代码如下(0xa000000000..0xafffffffff|% ToString X10).ToLower()

最佳答案

.. 的端点,range operator , 必须符合您的数字超过的 [int] 值。

  • 此外,由于您正在尝试收集流式传输的输出 0xa000000000..0xafffffffff| % ToString X10 管道命令 在内存中完整,通过将其包含在 (...) 中并调用方法 .ToString() 在它上面,收集的输出必须适合数组,并且范围内的元素数量超过最大值。容量.NET array也是。

同样,[Linq.Enumerable]::Range()不幸的是,该方法也只接受 [int] 端点。

但是,您可以实现(自定义)解决方案,其中 PowerShell 创建每个格式化数字(字符串)并将其一个一个:

$num = 0xa000000000
while ($num -le 0xafffffffff) { ($num++).ToString('x10') }

注意:

  • 虽然这可行,但会

  • 您将无法在内存中的集合中捕获结果作为一个整体

    • 如果您要将输出流式传输到一个未过滤的文件,您最终会在类 Unix 平台/Windows 上得到一个大小为 704 GB(!)/768 GB(!) 的文件.
    • 在内存中,将输出分成小到足以放入数组的 block 是唯一的选择。

关于Powershell 大十六进制范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71186632/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com