Имя файла Ext3 ограничено 255 символами или 255 байтами?


9

Я не могу сохранить файл с именем, содержащим более 127 символов кириллицы UTF-8, в моей файловой системе Ext3. Однако возможно сохранить файлы, содержащие до 255 английских символов UTF-8.

Так есть ли ограничения на количество байтов, содержащих имя файла или количество символов в имени файла? В первом случае можно ожидать еще более строгого ограничения длины имени файла на китайском языке, например. Это правильно?


3
@GioMac: Нет, это не правда. UTF-8 использует схему кодирования переменной длины, и, например, кириллические символы находятся в двухбайтовом диапазоне, ограничивая длину до 127 кодовых точек, если используются только кириллические буквы. Как отметил OP, другие символы с длиной кода в три или четыре байта будут ограничивать длину больше. Подводя итог: Максимальная длина имени файла будет между 255 и 63 символами, в зависимости от используемых кодовых точек.
Свен

Ответы:


11

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


1
Просто чтобы заметить, что любые UTF-схемы могут максимально использовать 63 кодовых пункта. Используя наименьшие единицы кода для каждой схемы, UTF-8 (63-255), UTF-16 (63-127), UTF-32 (63). Просто в информационных целях, ваш ответ на месте.
Рахли
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.