Как узнать, какую кодовую страницу использовать при преобразовании RTF шестнадцатеричные литералы в Unicode

Я разбираю файлы RTF 1.5+, созданные Word 2003+, которые могут содержать контент с других языков. Это содержимое обычно кодируется шестнадцатеричными литералами (\ 'xx). Я хотел бы преобразовать эти литералы в значения Unicode.

Я знаю кодовую страницу своего документа, ища ansicpg (\ ansi \ ansicpg1252).

Когда я использую кодовую страницу ansicpg для декодирования в Unicode, многие языки (например, французский ) похоже, преобразуются в ожидаемые мной значения символов Unicode.

Однако, когда я вижу русский текст (как показано ниже), кодовая страница 1252 декодирует содержимое в тарабарщину.

\ f277 \ lang1049 \ langfe1033 \ langnp1049 \ insrsid5989826 \ charrsid6817286 5+ файлов, созданных Word 2003+, которые могут содержать контент на других языках. Это содержимое обычно кодируется шестнадцатеричными литералами (\ 'xx). Я хотел бы преобразовать эти литералы в значения Unicode.

Я знаю кодовую страницу своего документа, ища ansicpg (\ ansi \ ansicpg1252).

Когда я использую кодовую страницу ansicpg для декодирования в Unicode, многие языки (например, французский ) похоже, преобразуются в ожидаемые мной значения символов Unicode.

Однако, когда я вижу русский текст (как показано ниже), кодовая страница 1252 декодирует содержимое в тарабарщину.

\ f277 \ lang1049 \ langfe1033 \ langnp1049 \ insrsid5989826 \ charrsid6817286 5+ файлов, созданных Word 2003+, которые могут содержать контент на других языках. Это содержимое обычно кодируется шестнадцатеричными литералами (\ 'xx). Я хотел бы преобразовать эти литералы в значения Unicode.

Я знаю кодовую страницу своего документа, ища ansicpg (\ ansi \ ansicpg1252).

Когда я использую кодовую страницу ansicpg для декодирования в Unicode, многие языки (например, французский ) похоже, преобразуются в ожидаемые мной значения символов Unicode.

Однако, когда я вижу русский текст (как показано ниже), кодовая страница 1252 декодирует содержимое в тарабарщину.

\ f277 \ lang1049 \ langfe1033 \ langnp1049 \ insrsid5989826 \ charrsid6817286 s, выполнив поиск ansicpg (\ ansi \ ansicpg1252).

Когда я использую кодовую страницу ansicpg для декодирования в Unicode, многие языки (например, французский), похоже, преобразуются в ожидаемые мной значения символов Unicode.

Однако когда я вижу русский текст (как показано ниже), кодовая страница 1252 расшифровывает контент до тарабарщины.

\ f277 \ lang1049 \ langfe1033 \ langnp1049 \ insrsid5989826 \ charrsid6817286 s, выполнив поиск ansicpg (\ ansi \ ansicpg1252).

Когда я использую кодовую страницу ansicpg для декодирования в Unicode, многие языки (например, французский), похоже, преобразуются в ожидаемые мной значения символов Unicode.

Однако когда я вижу русский текст (как показано ниже), кодовая страница 1252 расшифровывает контент до тарабарщины.

\ f277 \ lang1049 \ langfe1033 \ langnp1049 \ insrsid5989826 \ charrsid6817286 \ 'd1 \' f2 \ 'f0 \' e0 \ 'ed \' e8 \ 'f6 \' fb \ 'e1 \' e5 \ 'e7 \' ed \ 'e0 \' e7 \ 'e2 \' e0 \ ' ed \ 'e8 \' ff. \ 'dd \' f2 \ 'e0 \' f1 \ 'f2 \' f0 \ 'e0 \' ed \ 'e8 \' f6 \ 'e0 \' ed \ 'e5 \' e4 \ 'ee \' eb \ 'e6 \' ed \ » e0 \ 'ee \' f2 \ 'ee \' e1 \ 'f0 \' e0 \ 'e6 \' e0 \ 'f2 \' fc \ 'f1 \' ff \ 'e2 \' f2 \ 'e0 \' e1 \ ' eb \ 'e8 \' f6 \ 'e5 \ 'e2 \' f1 \ 'ee \' e4 \ 'e5 \' f0 \ 'e6 \' e0 \ 'ed \' e8 \ 'e8.

Я предполагаю, что lang1049, langfe1033, langnp1049 должны дать мне подсказки, поэтому Я могу программно выбрать другую (нестандартную) кодовую страницу для текста, на который они ссылаются? Если да, где я могу найти информацию, объясняющую, как сопоставить код lang * с кодовой страницей? Или мне следует искать другую команду / директиву RTF, чтобы предоставить мне информацию, которую я ищу? (Или я должен использовать \ f277 в качестве ссылки на шрифт и посмотреть, есть ли у него связанная кодовая страница?)

5
задан Deduplicator 24 February 2015 в 21:39
поделиться