У меня возник вопрос о том, как свойства документа (название, автор и т. Д.) Хранятся в файле PDF. Он выглядит как UTF-16 в порядке байтов байтов.Странное кодирование в полях свойств PDF
Таким образом, "MyName" будет закодирован как: FE FF 00 4D 00 79 00 4E 00 61 00 6D 00 65
Однако, я бегу в этот символ "-", который должен иметь значение FF 0D, но Я нахожу в своем месте эти шестнадцатеричное число FF 5C 72
Таким образом, "My-Name" выглядит следующим образом: FE FF 00 4D 00 79 FF 5C 72 00 4E 00 61 00 6D 00 65
Кто-нибудь знает, почему FF 5C 72 используется здесь? Почему 3 байта, когда везде есть UTF-16? Почему эти ценности?
FE FF - это маркер байтов (BOM) для Big-Endian (BE. Аналогично, FF FE означает Little-Endian). 00 4D - это кодировка для «M» в UTF-16BE. Во всяком случае, я понял это. 0A и 0D являются специальными символами в потоке PDF, поэтому все их вхождения заменяются на \ r и \ n. Во всяком случае, поскольку вы единственный, кто мог ответить, ваш ответ. –
@ChuBun: Вы можете утверждать, что я знаю спецификацию для BE и FE.Но нет необходимости прибегать к нему при интерпретации строк в словаре '/ Info' в формате PDF, таком как ваш ... –
@ChuBun * Во всяком случае, поскольку вы единственный, кто должен ответить, ваш ответ - вы должны «Я принимаю ответ после столь короткого времени просто потому, что он единственный в то время. – mkl