J'ouvre un fichier pdf "test.pdf" avec Vim et copie son contenu dans un autre tampon de texte que je sauvegarde sous "copy.pdf". Je ne comprends pas pourquoi "copy.pdf" est différent, peut être ouvert en pdf (le titre montre) mais la page est vide.Le contenu PDF n'est pas suffisant pour reconstruire le PDF?
La même chose se produit lorsque je lis le fichier en Javascript avec FileReader.readAsBinaryString
et le réécris sur le disque, donc ce n'est pas lié à la façon dont je copie dans Vim.
Encore plus étrange, le Finder dit que la copie est en réalité 30 Ko plus grande.
Où sont les octets cachés?
Chaque processus dont le résultat diffère de l'original ne crée pas une copie identique. Ainsi, vos deux processus (en utilisant vim, en utilisant JavaScript) ne sont pas appropriés pour copier des binaires. Les raisons peuvent différer. Vim est un éditeur de texte, il a donc certaines hypothèses sur la nature des données qu'il traite. PDF est un format binaire et, par conséquent, très probablement ne remplit pas ces hypothèses. Donc vim peut endommager les données dans le processus. Dans votre processus JavaScript, la lecture et l'écriture doivent respecter la nature binaire des données. Vous montrez seulement un côté de celui-ci. – mkl