文件中字节的第二次出现的索引或范围

时间:2019-04-17 20:21:51

标签: swift macos

我正在尝试查找文件中字节模式的第二次出现。我可以成功找到第一个:

let mtrkChunk = Data(bytes: [0x4D, 0x54, 0x72, 0x6B] as [UInt8], count: 4) 接着 let mtrkChRng = data.range(of: mtrkChunk)

但是无法弄清楚如何使其与第二次出现相匹配。任何帮助将不胜感激

2 个答案:

答案 0 :(得分:1)

看看options

let mtrkChRng = data.range(of: mtrkChunk, options: .backwards)

答案 1 :(得分:0)

您可以通过这种方式找到第二次出现:

if let rg1 = data.range(of: mtrkChunk),
    let rg2 = data[rg1.upperBound...].range(of: mtrkChunk) {
    print(rg2)   
}