Какова лучшая библиотека EXIF для .NET?

Причина сохранения файла с кодировкой Windows-1252 (скорее всего) вместо кодировки UTF-8 , приводящей к получению не ASCII , отображаемый неправильно в браузерах, не хватало информации об обнаружении UTF-8 UltraEdit и, возможно, также соответствующей конфигурации UTF-8.

Как в последней версии 22.10 UltraEdit обнаруживается кодировка UTF-8 подробно объясняется в теме пользовательского форума UTF-8 не распознан, довольно большой файл . Эта тема форума содержит также рекомендации по настройке UltraEdit для HTML-писателей, которые используют главным образом кодировку UTF-8 для всех HTML-файлов.

К сожалению, поиск регулярных выражений, используемый в настоящее время последним UltraEdit v22.10 и предыдущими версиями для обнаружения объявления набора символов HTML UTF-8 не работает для краткого варианта HTML5, как указано в теме форума . Объявление charset коротких utf-8 в заголовке HTML5 . Причиной является символ двойной кавычки между charset= и utf-8. Я сообщил об этом по электронной почте IDM Computer Solutions, Inc., поскольку указанная тема была создана с предложением сделать небольшое изменение в регулярном выражении, чтобы обнаружить также короткую декларацию HTML5 UTF-8. Обнаружение UTF-8 позднее было обновлено разработчиками UltraEdit для UE v24.00 и UES v17.00 в качестве публикации в разделе, посвященном теме форума.

Однако, когда файл HTML5 объявляется как UTF-8, но UltraEdit загрузил его как ANSI-файл, пользователь может увидеть неправильную загрузку в строке состояния в нижней части главного окна. Небольшой (менее 64 КБ) UTF-8 кодированный HTML-файл должен привести к

  • либо U8-, и типу терминатора линии (DOS / UNIX / MAC), отображаемому для пользователей UE & lt; v19.00 или при использовании базовой строки состояния в более поздних версиях UE
  • или UTF-8, выбранных в селекторе кодирования в строке состояния для пользователей UE v19.00 или более поздних версий, не используя основную строку состояния.

Если это не так, пользователь UltraEdit может использовать

  • Сохранить как из файла меню и выбрать UTF-8 - NO BOM для Кодировка (Windows Vista или более поздняя версия), соответственно Формат (Windows 2000 / XP), чтобы преобразовать файл с ANSI в UTF-8 без знака порядка байта или
  • ASCII в UTF-8 ( Редактирование Unicode) из подменю Конверсии в меню Файл для преобразования файла с ASCII / ANSI в UTF-8 без немедленного сохранения или
  • выберите Unicode - UTF-8 через селектор кодировки в строке состояния (UE v19. 00 или более поздней версии), что также приводит к немедленному преобразованию из ASCII / ANSI в UTF-8 и разрешению редактирования Unicode.

Для последних двух параметров настройки спецификации UTF-8 в Advanced - Settings или Конфигурация - Обработка файлов - Сохранить определение сохранения файла без или с

После того, как слово méywe будет сохранено в файле с использованием кодировки UTF-8, что приведет к потоку байтов 6D C3 A9 79 77 65 (шестнадцатеричный), который будет отображаться как méywe, когда UTF -8 закодированный файл открывается в режиме ASCII / ANSI (опция в диалоговом окне «Файл - Открыть») с использованием Windows-1252 в качестве кодовой страницы, UltraEdit автоматически обнаруживает этот файл при следующем открытии в качестве файла с кодировкой UTF-8, хотя не распознается, потому что теперь по крайней мере один кодированный символ UTF-8 в первых 64 КБ файла.

Чтобы ответить на вопрос:

Что я пропустил?

blockquote>

Вы пропустили сохранение файла в виде кодированного файла UTF-8 после его открытия или создания в виде файла ANSI (или более точного одиночного байта на кодированный текстовый файл с символьной кодировкой с использованием кодовой страницы) и с его объявлением как UTF -8. Это обычная проблема для многих пользователей, записывающих в файл HTML


или


или


или в файл XML


или


и другие варианты в зависимости от использования ' или " и записи либо UTF-8, либо utf-8 (и других написаний) не знаю, что означает эта строка для приложений, интерпретирующих байты файла.

Какой лучший формат нового файла по умолчанию? содержит много полезной информации и ссылок на веб-страницы с полезную информацию о текстовом кодировании, какую из них использовать для каких файлов и как настроить UltraEdit соответственно.

26
задан Community 11 September 2008 в 05:13
поделиться

5 ответов

Мне нравится фотография DotImage Atalasoft , но это - решение с закрытым исходным кодом и стоит приблизительно 600 на лицензию dev.

можно также проверить DTools в Codeplex, который является платформой с открытым исходным кодом, разработанной для добавления стандартного Fx. Это включает связанные классы некоторого Exif.

4
ответ дан Will 25 September 2019 в 08:02
поделиться

тот, который я сохранил в feeddemon для меня для проверки больше, когда у меня есть время (когда это для программиста? LOL), ниже

ExifTagCollection - библиотека извлечения Метаданных EXIF

Mike

4
ответ дан MikeScott8 25 September 2019 в 08:02
поделиться

Проверьте этот экстрактор метаданных . Это записано в Java, но было также портировано к C#. Я использовал версию Java для записи маленькой утилиты для переименования моих jpeg файлов на основе даты и образцовых тегов. Очень простой в использовании.

2
ответ дан Dave Griffiths 25 September 2019 в 08:02
поделиться

Несколько лет назад я вместе с Омаром Шахайном запустил небольшое приложение JPEG EXIF ​​для работы с файлами JPEG EXIF ​​под названием JpegHammer.

Он извлек из этого проекта библиотеку и назвал ее PhotoLibrary, это была простая .NET-оболочка для тегов EXIF ​​2.2. К сожалению, сайт GotDotNet исчез, у CodePlex его нет, ссылки на веб-сайт Омара не работают, и у меня больше нет копии.

Но если вы сможете покопаться в Google, возможно, вы найдете его, и он поможет вам.

0
ответ дан 28 November 2019 в 07:53
поделиться

Если вы компилируете с v3 Framework (или новее), вы можете загружать изображения с помощью BitmapSource class , который предоставляет метаданные EXIF ​​через свойство Метаданные

7
ответ дан 28 November 2019 в 07:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: