LINUX.ORG.RU

История изменений

Исправление fsb4000, (текущая версия) :

В Linux нативный тип это набор байт. Не utf-8 и не char*.

Не utf-8, так как имя файла может быть невалидной utf-8 последовательностью

Не char*, так как ограничения есть у типа файловой системы, например у ext4: Любые символы, кроме NUL, /

https://ru.wikipedia.org/wiki/%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D1%8B%D1%85_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC

Большинство языков забивают и используют char* или utf-8 или utf-16

Но, например, в Python есть нативный тип строк для Linux это: b""

В rust: https://doc.rust-lang.org/std/ffi/struct.OsString.html

Исправление fsb4000, :

В Linux нативный тип это набор байт. Не utf-8 и не char*.

Не utf-8, так как имя файла может быть невалидной utf-8 последовательностью

Не char*, так как ограничения есть у типа файловой системы, например у ext4: Любые символы, кроме NUL, /

https://ru.wikipedia.org/wiki/%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D1%8B%D1%85_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC

Большинство языков забивают и используют char* или utf-8 или utf-16

Но, например, в Python есть нативный тип строк для Linux это: b""

Исправление fsb4000, :

В Linux нативный тип это набор байт. Не utf-8 и не char*.

Не utf-8, так как имя файла может быть невалидной utf-8 последовательностью

Не char*, так как в середине имени могут быть ‘\0’ символы.

Большинство языков забивают и используют char* или utf-8 или utf-16

Но, например, в Python есть нативный тип строк для Linux это: b""

Исходная версия fsb4000, :

В Linux нативный тип это набор байт. Не utf-8 и не char*.

Не utf-8, так как имя файла может быть невалидной utf-8 последовательностью

Не char*, так как в середине имени могут быть ‘\0’ символы.

Большинство языков забивают и используют char* или utf-8.

Но, например, в Python есть нативный тип строк для Linux это: b""