Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pycdlibexception.PyCdlibInvalidInput('Joliet names can be a maximum of 64 characters') #121

Open
j-deng opened this issue Dec 7, 2023 · 1 comment

Comments

@j-deng
Copy link

j-deng commented Dec 7, 2023

Hello! From https://en.wikipedia.org/wiki/Talk%3AJoliet_(file_system), the name limit is 128 bytes?
Unable to pack Kylin linux OS for the 64 chars error.

Joliet does extend ISO 9660 as regards file/directory name length (31 -> 128) and directory hierarchy depth (8 to no stated limit -- but can be at most 120).

@ds-sloth
Copy link

This limit is compliant with the standard. Joliet implementations generally represent filenames with UTF-16. This encodes most Unicode codepoints as 2 bytes, and encodes high codepoints (such as emoji or some CJK characters) as 4 bytes.

For practical purposes, this means that each codepoint ("character") will require at least two bytes. See the following passage from ECMA-119 (https://www.ecma-international.org/wp-content/uploads/ECMA-119_4th_edition_june_2019.pdf, page 63):

"The File or Directory Identifiers may be up to 128 bytes (64 unicode characters) in length."

It's possible that one can get this use case to work by enabling Rock Ridge and disabling Joliet, but I haven't used this library myself so can't say whether that would help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants