1

PDF ファイルでは、データ型文字列は 9 ビット文字です。16 進数でエンコードされた文字列は 8 ビットのみですが、「通常の」文字列では、1 つの文字に対して 512 の異なる値を表すことができます。これは、バックスラッシュの後の文字の 8 進表現を使用して実現されます。

PDF ファイルを解析する場合、そのような文字列を格納するにはどのデータ型を使用すればよいですか? 後でutf-8などのエンコーディングを適用するバイト配列のように処理できないため、本当に面倒ですが、Unicode文字を格納するには512個の異なる文字では不十分であるため、既にデコードされた文字列として使用することもできません、したがって、これらの9ビット文字列は、何らかの方法でエンコードする必要があります:/ 9ビットの「バイト」から/にエンコード/デコードするエンコーディングを知りません...

これに関するヒントやベストプラクティスはありますか?

アップデート

R.マルティーニョ・フェルナンデスが指摘したように:

理論的に 512 までの値を 3 桁の 8 進数で表現できる場合、256 より小さい値を表現することだけが有効です。 2桁の16進表現?

それに対する答えは、 \b と \f が16進値として扱われることだと思います。しかし、これについてはよくわかりません。

とにかく: adobe の連中が PDF 形式を作成したときに酔っていなかったことを嬉しく思います :) そして: 連中を受け入れるには答えが必要です!

4

2 に答える 2

4

PDF 形式では、8 ビット バイトの文字列のみを使用できます。8 進エスケープは 9 ビット単位を表すことができますが、9 番目の可能なビットは 8 ビット バイトを表すのに役に立ちません。これは一般的な方法であり、たとえば C++ の 8 進エスケープについても同様です。PDFには9ビット文字列はありません:)

于 2013-06-27T13:31:23.867 に答える