我基本上想要实现的是:
我已经修改过并设法编写了一个代码来执行上述操作,但是,我目前的问题如下:
字符串"针"转换为" 6e6565646c65"十六进制;如果字母大写(区分大小写),则在文件中不匹配。例如,它不会与" Needle"匹配。或" needlE"。
那么,如何在不区分大小写的情况下检查文件中是否存在字符串?我已经尝试过不将文件更改为hexstring并检查原始数据,但不幸的是,我无法让它工作。
这是我现在的代码:
$hex = unpack("H*", file_get_contents($filetmp));
$hex = current($hex);
if (strpos(strtolower($hex), '6e6565646c65'){
//string "needle" matches in the file
}
有关使用PHP可以做什么的任何想法?这可能是一种完全不同的方法,我不介意,我会研究它。
答案 0 :(得分:0)
您可以尝试针对小写文件数据检查针:
def subsetsum_mem(L, k):
'''
fill-in your code below here according to the instructions
'''
sum_dict={}
return s_rec_mem(L,0,k,sum_dict)
def s_rec_mem(L, i, k, d):
'''
fill-in your code below here according to the instructions
'''
if(k==0):
return True
elif(k<0 or i==len(L)):
return False
else:
if k not in d:
res_k=s_rec_mem(L,i+1,k-L[i],d) or s_rec_mem(L,i+1,k,d)
d[k]=res_k
return res_k
def subsetsum_mem2(L, k):
'''
fill-in your code below here according to the instructions
'''
sum_dict={}
return s_rec_mem2(L,0,k,sum_dict)
def s_rec_mem2(L, i, k, d):
'''
fill-in your code below here according to the instructions
'''
if(k==0):
return True
elif(k<0 or i==len(L)):
return False
else:
if k not in d:
res_k=s_rec_mem2(L,i+1,k-L[i],d) or s_rec_mem2(L,i+1,k,d)
d[k]=res_k
return res_k
else:
return d[k]
此外,检查$hex = unpack("H*", strtolower(file_get_contents($filetmp)));
$hex = current($hex);
if (strpos($hex, '6e6565646c65' !== false) {
//found
}
false
如果在开头找到strpos
,则会返回假名0
。