LINUX.ORG.RU

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

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

Не любой массив байт порождает валидный UTF-8.

Не любой массив байт порождает валидный UTF-8.

Именно. Это мне известно.

Тебе пытаются донести, что растишка учитывает этот момент.

Вызовом дополнительной проверки при «конвертации» одно типа в другой.

Я пытаюсь им донести, что go её можно тоже можно вызвать. И то, что переменная хранящая имя файла типа path в rust и типа string в go хранят одинаковую последовательность байтов. Ну да, в rust данная последовательность не преобразуется в строку даже частично (поэтому, видимо, и возвращается none); в go при выводе на экран преобразует то, что может, остальное отображает не даже знаю в виде чего.

Но в обоих случаях отображаемое на экране имя некорректно - корректное отображение невозможно. Какой подход лучше и реализация - дело вкуса.

Несомненно надо сообщать пользователю, что имя файла не может быть отображено корректно. И это можно сделать в обоих подходах.

Что лучше при чтении из файла байтов: отображать некорректно или вообще не отображать? Зависит от желаемой реализации.

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

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

Не любой массив байт порождает валидный UTF-8.

Не любой массив байт порождает валидный UTF-8.

Именно. Это мне известно.

Тебе пытаются донести, что растишка учитывает этот момент.

Вызовом дополнительной проверки при «конвертации» одно типа в другой.

Я пытаюсь им донести, что go её можно тоже можно вызвать. И то, что переменная хранящая имя файла типа path в rust и типа string в go хранят одинаковую последовательность байтов. Ну да, в rust данная последовательность не преобразуется в строку даже частично (поэтому, видимо, и возвращается none); в go при выводе на экран преобразует то, что может, остальное отображает не даже знаю в виде чего.

Но в обоих случаях отображаемое на экране имя некорректно - корректное отображение невозможно. Какой подход лучше и реализация - дело вкуса.

Несомненно надо сообщать пользователю, что имя файла не может быть отображено корректно. И это можно сделать в обоих подходах.

Что лучше при чтении из файла байтов: отображать некорректно или вообще не отображать? Зависит от желаемой реализации.