Как я могу изменить.xfdl файлы? (Обновление #1)
на .XFDL
расширение файла определяет XFDL
форматированные файлы документов. Они относятся к стандарту форматирования документов и шаблонов на основе XML. Этот формат точно такой же, как формат XML-файла, однако содержит уровень шифрования для использования в защищенных коммуникациях.
Я знаю, как просматривать файлы XFDL с помощью средства просмотра файлов, которое я нашел здесь. Я также могу изменить и сохранить эти файлы, выполнив File: Save/Save As. Однако я хотел бы изменить эти файлы на летать. Есть предложения? Это вообще возможно?
обновление #1: теперь я успешно декодировал и распаковал .xfdl
в XML-файл, который я могу редактировать. Теперь я ищу способ перекодировать измененный XML-файл обратно в base64-gzip (используя Ruby или командную строку)
3 ответов
Если кодировка в 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 будет декодировать содержимое как " неизвестно.001', так как файл xfdl не содержит имени файла. Параметр '-я' делает uudeview выступает uninteractive, удалить эту опцию для большего контроля.
последняя команда gunzips декодированный файл в файл с именем " yourform-распакован.xfdl'. "
еще один возможное решение - здесь
Примечание: блок quoted не работает для длинных строк кода
единственный ответ, который я могу придумать прямо сейчас, - прочитайте руководство для 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 с помощью ядра#system:
system("gzip foo.something")
system("gunzip foo.something.gz")