У меня есть проект импорта даты, в котором клиенты отправляют файлы в кодировке ANSI-latin1 (iso-8859-1). Однако ... Кажется, что еженедельно мы получаем файл-сюрприз, файл которого имеет неправильный формат, а импорт в основном ужасно умирает и требует ручного вмешательства для восстановления и продолжения ... Большинство распространенных плохих форматов файлов, кажется, быть Excel, сжать файл или файл XML / HTML ...
Итак, чтобы смягчить вмешательство человека, я хотел бы разумно определить, есть ли у нас сильный файл-кандидат ANSI, прежде чем пытаться просмотреть каждую строку файла в поисках 1 из 64 плохих символов, а затем сделать предположение о плохая ли целая строка или файл из-за количества найденных плохих символов…
Я думал о том, чтобы, возможно, сделать проверку Unicode / UTF и / или проверку магического числа, или вечером, пытаясь проверить несколько конкретных типов приложений. У файлов нет расширений, поэтому любая проверка будет выполняться путем изучения содержимого и любых быстрый способ исключить файл как не-ANSI был бы идеальным, поскольку процесс импорта должен обрабатывать 100-500 записей в секунду.
ПРИМЕЧАНИЕ. Нам было отправлено более 100 различных типов плохих файлов, включая изображения и файлы PDF. Таким образом, существует обеспокоенность по поводу того, можете ли вы легко и быстро исключить LTOS различных типов, не соответствующих стандарту ANSI, вместо того, чтобы специально ориентироваться только на несколько ...