编程语言
首页 > 编程语言> > PHP使用Unicode字符作为分隔符进行爆炸

PHP使用Unicode字符作为分隔符进行爆炸

作者:互联网

XPDFs pdftotext将pdf转换为文本并在命令行级别输出.如果需要,它会在TextOutputDev.cc中指定的页面之间插入PageBreaks:

eopLen = uMap->mapUnicode(0x0c, eop, sizeof(eop));

这个Unicode符号是独立编码的,-enc ASCII7不会改变它.我目前愿意使用PHP将PDF文件转换并拆分为几个TXT页面以进行数据库存储.但是,以下功能确实有效,但是一次转换整个PDF所需的时间是原来的两倍.

for($i = 1; $i <= $pages[0]; $i++)
    $page[$i] = shell_exec('/usr/bin/pdftotext sample.pdf -f '.$i.' -l '.$i.' -');

我怎么能用Unicode字符作为分隔符爆炸(0x0c,$wholePDF)?目前,页面[$i]似乎没有从shell_exec()中检索那些奇怪的Unicode PageBreak字符.我尝试了几个用于编码的头文件(尤其是UTF-8),但到目前为止它还没有用完.

解决方法:

0x0c是ASCII字符(即在0-127范围内),因此在UTF-8编码中,它表示为自身而不是多字节序列.你应该能够爆炸(chr(0x0c),$wholePDF).

标签:php,unicode,explode,pdftotext,xpdf
来源: https://codeday.me/bug/20190613/1231979.html