gpt4 book ai didi

ruby - 使用Ruby解压缩3字节/24位数据 block

转载 作者:行者123 更新时间:2023-12-02 23:00:43 24 4
gpt4 key购买 nike

我正在构建一个纯Ruby WAV文件读/写库,同时我将学习更深入的Ruby功能。目前,它可以与16位音频配合使用,因为我可以使用String.unpack('s*')将单个音频样本提取到带符号整数数组中。但是,我无法确定如何处理24位音频。在这种情况下,每个样本的长度为3个字节。在这种情况下,您会建议使用哪种打包字符串,或者我可能不得不彻底改变我的方法(使用填充或类似方法)?

最佳答案

当您使用unpack("s+")时,我假设您的示例使用大端字节序。这是一个不太快但可行的解决方案。

>> "ABCDEF".scan(/.../).map {|s| (s.reverse + 0.chr ).unpack("V")}.flatten
=> [4276803, 4474182] #=> [0x414243, 0x444546] in HEX

关于ruby - 使用Ruby解压缩3字节/24位数据 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2129324/

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