Не запись, а чтение. Но да, в двоичном
это значит что .read() будет возвращать объект типа bytes. Т.е. скорее наоборот, питон не будет заниматься никаким переводом и будет давать данные из файла так как они лежат, не пытаясь декодировать
Не понял вообще ничего. Можете на более детском примере пояснить? Просто у меня файл с кодировкой UTF-8, питон не читает, а благодаря rb прочитал, поэтому и интересно стало
А неужели так сложно документацию открыть и прочитать, ну правда?
В компьютерных файлах хранятся массивы чисел от 0 до 255, так же известные по прозвищу "байты".
Что значит "питон не читает" ?
Ну значит у тебя в файле не UTF-8
Чтобы перевести из байт в строку, состоящую из символов, нужна кодировка которая описывает как эти числа соотносятся с символами разных языков. 'r' пытается эти файлы декодировать с помощью какой-либо кодировки, нынче на практике это обычно utf-8. Если оно выдавало ошибку, значит файл не является валидной последовательностью байт для этой кодировки
https://www.joelonsoftware.com/2003/10/08/the-absolute-minimum-every-software-developer-absolutely-positively-must-know-about-unicode-and-character-sets-no-excuses/
Обсуждают сегодня