Как я могу изменить файлы .xfdl?(Обновление №1)

StackOverflow https://stackoverflow.com/questions/1615

  •  08-06-2019
  •  | 
  •  

Вопрос

Тот Самый .XFDL расширение файла определяет XFDL Отформатированные файлы документов.Они относятся к стандарту форматирования документов и шаблонов на основе XML.Этот формат в точности похож на формат файла XML, однако содержит уровень шифрования для использования в защищенных сообщениях.

Я знаю, как просматривать файлы XFDL с помощью программы просмотра файлов, которую я нашел здесь.Я также могу изменить и сохранить эти файлы, выполнив команду File:Save /Сохранить как.Однако я хотел бы изменять эти файлы "на лету".Есть какие-нибудь предложения?Возможно ли это вообще?

Обновление №1:Теперь я успешно расшифровал и распаковал файл .xfdl в XML-файл, который я затем могу отредактировать.Теперь я ищу способ перекодировать измененный XML-файл обратно в base64-gzip (используя Ruby или командную строку)

Это было полезно?

Решение

Если кодировка является base64 тогда это решение, на которое я наткнулся в Интернете Ссылка :

"Декодирование файлов XDFL, сохраненных с помощью "encoding=base64".Файлы, сохраненные с помощью:

application/vnd.xfdl;content-encoding="base64-gzip"

это простые gzip-файлы в кодировке base64.Их можно легко восстановить в формате XML, сначала расшифровав, а затем разархивировав.В Ubuntu это можно сделать следующим образом:

sudo apt-get install uudeview uudeview -i yourform.xfdl gunzip -S "" < UNKNOWN.001 > yourform-unpacked.xfdl 

Первая команда установит uudeview, пакет, который, среди прочего, может декодировать base64.Вы можете пропустить этот шаг, как только он будет установлен.

Предполагая, что ваша форма сохранена как 'yourform.xfdl', команда uudeview расшифрует содержимое как 'UNKNOWN.001', поскольку файл xfdl не содержит имени файла.Опция '-i' делает uudeview неактивным, удалите эту опцию для большего контроля.

Последняя команда архивирует декодированный файл в файл с именем "yourform-unpacked.xfdl"."

Другой возможное решение - здесь

Боковое примечание:Блок в кавычках < code> не работает для длинных строк кода

Другие советы

Единственный ответ, который я могу придумать прямо сейчас, это - прочитать руководство по uudeview.

Как бы мне ни хотелось помочь вам, я не эксперт в этой области, поэтому вам придется подождать, пока кто-нибудь более знающий спустится сюда и поможет вам.

Тем временем я могу дать вам ссылки на некоторые документы, которые могли бы вам помочь:

Извините, если это вам не поможет.

Вам не нужно выходить из Ruby, чтобы сделать это, вы можете использовать модуль Base64 в Ruby для кодирования документа следующим образом:

irb(main):005:0> require 'base64'
=> true

irb(main):007:0> Base64.encode64("Hello World")
=> "SGVsbG8gV29ybGQ=\n"

irb(main):008:0> Base64.decode64("SGVsbG8gV29ybGQ=\n")
=> "Hello World"

И вы можете вызвать gzip / gunzip, используя Kernel #system:

system("gzip foo.something")
system("gunzip foo.something.gz")
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top