Как зайти в Даркнет?!
25th January, 01:11
6
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
895
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
914
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
906
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6086
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4351
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4396
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Различия между файлами unix и windows
Правильно ли я предполагаю, что единственная разница между "windows files" и "unix files" - это прорыв линии?
У нас есть система, которая была перемещена с машины windows на машину unix, и у нее возникли проблемы с форматом.
Мне нужно автоматизировать перевод между unix/windows, прежде чем файлы будут доставлены в систему в нашем "transportsystem". Вероятно, мне понадобится что-то, чтобы определить текущий формат и что-то, чтобы преобразовать его в другой формат. Если это просто новая строка, то это большая разница, тогда я рассматриваю просто чтение файлов с java.io. Насколько я знаю, они способны справиться и с тем, и с другим с помощью readLine. А затем просто напишите каждую строчку обратно с помощью
while (line = readline)
print(line + NewlineInOtherFormat)
....
Резюме:
Это только разница в текстовых файлах, где UNIX использует однострочный канал (LF) для обозначения новой строки, Windows использует возврат каретки/линейный канал (CRLF), а Mac использует только CR.
на что Себжир подробно отвечает:
OS X использует LF, так же как UNIX - MacOS 9 и ниже использовали CR, хотя
Кроме того, может существовать разница в кодировке символов для национальных символов. Там нет "unix-encoding", но многие linux-варианты используют UTF-8 в качестве кодировки по умолчанию. Mac OS (который также является unix) использует свою собственную кодировку (macroman). Я не уверен, что такое кодировка по умолчанию windows.
В дополнение к различиям в новой строке, метка порядка байтов может вызвать проблемы, если файлы обрабатываются как Unicode на Windows.
Однако другой набор проблем, с которыми вы можете столкнуться, может быть связан с кодировкой символов single/multi-byte. Если вы видите странные неожиданные символы (не в end-of-line), то это может быть причиной. Особенно если вы видите квадратные поля, вопросительные знаки, перевернутые вопросительные знаки, дополнительные символы или неожиданные акцентированные символы.
На unix файлы, которые начинаются с a . они скрыты. На windows это флаг файловой системы, к которому у вас, вероятно, нет легкого доступа. Это может привести к тому, что файлы, которые должны быть скрыты, теперь становятся видимыми на клиентских компьютерах.
Права доступа к файлам различаются между ними. Вы, вероятно, обнаружите, когда вы копируете файлы в систему unix, что файлы теперь принадлежат Пользователю, который сделал копирование и имеет ограниченные права. Вам нужно будет использовать chown/chmod, чтобы убедиться, что правильные пользователи имеют к ним доступ.
Это только разница в текстовых файлах, где UNIX использует однострочный канал (LF) для обозначения новой строки, Windows использует возврат каретки/линейный канал (CRLF), а Mac использует только CR.
Двоичные файлы не должно быть никакой разницы (т. е. JPEG на машине windows будет байт за байтом таким же, как и тот же JPEG на коробке unix.)
Кроме того, может существовать разница в кодировке символов для национальных символов. Там нет "unix-encoding", но многие linux-варианты используют UTF-8 в качестве кодировки по умолчанию. Mac OS (который также является unix) использует свою собственную кодировку (macroman). Я не уверен, что такое кодировка по умолчанию windows.
Но это может быть еще одним источником неприятностей (помимо различных лайнбрейков).
Какие у вас проблемы? Связанные с linebreak проблемы могут быть легко исправлены с помощью программ dos2unix или unix2dos на unix-машине
Если вас интересует только содержание текстовых файлов, то да, концовки строк разные. Взгляните на что-то вроде dos2unix , это может быть полезно здесь.
(Конечно, есть много других вещей, которые делают файлы unix и windows разными, но я не думаю, что вас сейчас интересуют эти другие различия.)
В дополнение к приведенным ответам, вы можете найти проблемы с различными файловыми системами:
На unix файлы, которые начинаются с a . они скрыты. На windows это флаг файловой системы, к которому у вас, вероятно, нет легкого доступа. Это может привести к тому, что файлы, которые должны быть скрыты, теперь становятся видимыми на клиентских компьютерах.
Права доступа к файлам различаются между ними. Вы, вероятно, обнаружите, когда вы копируете файлы в систему unix, что файлы теперь принадлежат Пользователю, который сделал копирование и имеет ограниченные права. Вам нужно будет использовать chown/chmod , чтобы убедиться, что правильные пользователи имеют к ним доступ.
В дополнение к различиям в новой строке, метка порядка байтов может вызвать проблемы, если файлы обрабатываются как Unicode на Windows.
Как предполагает pauldoo, такие инструменты, как dos2unix, могут быть очень полезны. Обратите внимание , что они могут быть в вашей системе linux/unix в качестве fromdos или tofrodos, или, возможно, даже в качестве общего набора инструментов recode .
Однако другой набор проблем, с которыми вы можете столкнуться, может быть связан с кодировкой символов single/multi-byte. Если вы видите странные неожиданные символы (не в end-of-line), то это может быть причиной. Особенно если вы видите квадратные поля, вопросительные знаки, перевернутые вопросительные знаки, дополнительные символы или неожиданные акцентированные символы.
Запуск команды locale в поле *nix покажет вам, что такое система locale. Если это отличается от кодировки, используемой в текстовых файлах, которые были переданы с машины windows, то это иногда может вызвать проблемы, в зависимости от использования этих файлов. Вы можете использовать очень мощную команду перекодирования , чтобы попытаться конвертировать между различными кодировками, а также любые проблемы с окончанием строки. recode-l покажет вам все форматы и кодировки, которые инструмент может конвертировать между ними. Скорее всего, это будет длинный список VERY.
При записи в файлы или чтении из файлов (которые вы контролируете) часто стоит указать кодировку для использования, поскольку большинство методов Java позволяют это. Однако, также гарантируя, что система locale соответствует, можно сэкономить много боли.