
答案1
在 PDF 文件中%
以註釋開頭,因此這只是一個無用的字串。許多 PDF 生成器使用它來防止文件被弄亂由有缺陷的程式
但如何呢?某些應用程式透過檢查第一個資料區塊(通常是 512、1024 或 2048 位元組)來試探性地檢查檔案是文字還是二進制,並測量不可列印或無效字元的百分比。其他一些則不是8位乾淨。因此,建議在前 512 位元組中至少放置 4 個大於 127 的位元組,以強制這些應用程式將檔案識別為二進位檔案。否則會發生不好的事情,例如在 CRLF 和 LF 之間進行轉換、截斷頂部位元或刪除無效的 UTF-8 位元組序列(如果檔案被識別為 UTF-8 文字)
What follows are some ASCII characters that are using non-printable characters (note the '.' dots), which are usually there to tell some of the software products that the file contains binary data and shouldn't be treated as 7-bit ASCII文字
https://resources.infosecinstitute.com/pdf-file-format-basic-struct/#gref
它實際上是 PDF 標準推薦的
筆記: 如果PDF 文件包含二進制數據,就像大多數文件一樣(請參閱第3.1 節,“詞彙約定”),建議標題行後緊跟一個註釋行,其中至少包含四個二進位字符(即,其代碼為的字元) 128 或更大。這確保了檔案傳輸應用程式的正確行為,這些應用程式檢查檔案開頭附近的資料以確定是將檔案內容視為文字還是二進位。
https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/pdf_reference_1-7.pdf
如果PDF 文件包含二進位數據,就像大多數文件一樣(請參閱7.2,詞彙約定”),則標題行後應緊跟著一個包含至少四個二進位字符(即代碼為128 或更大的字符)的註釋行。
https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf
我讀過的一些有關 PDF 的資料表明,某些程式仍然不相信該文件是沒有零位元組的二進位文件,但不幸的是,您不能在 PDF 註釋中嵌入零。我現在找不到它們,所以我稍後會引用