Скрипт для исправления имен файлов Linux на Windows и наоборот? - PullRequest
1 голос
/ 23 августа 2011

Насколько я знаю, Unix-подобные системы используют UTF-8 для кодирования имен файлов, в то время как системы Windows используют свои собственные однобайтовые кодировки Windows.

Я работаю с архивами с японскими именами в них довольно часто. Когда я открываю такой архив, созданный в Windows, японские буквы мертвы, потому что кодировка имени файла неверна.

То же самое происходит, когда я создаю архив в моем Linux, а затем кто-то открывает его под Windows.

Итак, я подумал, что это должно быть довольно распространенной проблемой, и, поскольку имена файлов можно восстановить, уже должен существовать корректирующий сценарий .sh для linux и .bat для Windows.

Но после долгого поиска в Google я все еще ничего не нашел. Есть ли такие сценарии вообще? Если нет, то какие трудности могли помешать людям создавать их?

Обновление Я был бы счастлив с решением, которое работает для большинства систем Linux и большинства систем Windows.

Ответы [ 3 ]

0 голосов
/ 24 августа 2011

Спасибо за ваш вклад.Случай действительно выглядит довольно сложным для простого bash-скрипта, мне нужно использовать язык программирования.

Я не вижу ничего похожего на кнопку «закрыть вопрос», поэтому я буду использовать этот ответ для этого.1003 *

0 голосов
/ 04 февраля 2014

Взгляните на инструмент convmv , доступный для систем Unix

0 голосов
/ 23 августа 2011

Windows использует двухбайтовую кодировку UTF-16. Скорее всего, ваша проблема в том, что вы используете однобайтовые версии ANSI любого используемого вами инструмента архивации.

Пока вы не дадите более подробную информацию о коде и инструментах, которые вы используете, трудно дать конкретный совет. Тем не менее, нет никаких ограничений на использование полного набора символов Unicode в современных файловых системах Windows.

...