мне нужно реализовать в Delphi 2006 в АЛГОРИТМ, которые работают в .netстроку в массив байтов и массив байтов в файл
Basicaly мне нужно сделать следующие шаги:
- Создание XML и проверки aganist в XSD
- сериализации строки XML в массив байт UTF-8 закодированных и сжать его с молнией
- сжатой информация должна быть сохранена снова в массив байт, используя Base256 формат
- Создайте изображение с помощью Datamatrix 2D BarCode из этого массива байтов и поместите это изображение в отчет
Для шага 1 я создаю XML, используя библиотеку NativeXML, которая работает нормально. В этой библиотеке существует метод SaveToBinaryFile, но не работает нормально. В моих тестах я использовал эту функцию для создания двоичного файла. Я был вынужден использовать двоичный файл, потому что мой компонент Zip работает только с файлами, не связанными с строками или байтом из памяти.
Я сжал этот двоичный файл с помощью компонента Zip и загрузил этот сжатый файл в файл blob. В тот момент, когда мне нужно создать образ DataMatrix, я загружаю этот файл blob в ansistring и создаю образ.
После многих тестов я обнаружил, что моя ошибка в том, что я сохраняю свой XML в двоичном файле. Теперь мне нужно найти другой способ сохранить мою строку xml (utf-8) в файле binarry. Прошу прощения за мой английский. Может ли кто-нибудь мне помочь?
Вы можете полностью опустить шаг преобразования в двоичный код. Когда вы храните файл с помощью TNativeXML.SaveToFile, он уже закодирован в кодировке UTF-8, если вы не указали другую кодировку. –
Да, но результат не в порядке. Образ DataMatrix не может быть снова преобразован в xml из приложения, созданного с использованием других языков – sorin
, когда я использую SavetoBinaryfile, некоторые части XML могут быть получены из образа DataMatrix. – sorin