В Python 2, когда число начинается с начального нуля, это означает, что оно восьмеричное (основание 8). В Python 3 восьмеричные литералы начинаются с 0o
. 00
конкретно равно 0.
Ведущий \
в \00
- это способ указания значения байта, числа от 0 до 255. Обычно он используется для представления символа, которого нет на вашей клавиатуре, или иначе нельзя легко представить в строке. Некоторые специальные символы также имеют нечисловые «escape-коды», например \n
для новой строки.
Нулевой байт также известен как нулевой байт или нулевой байт. При печати ничего не отображается - это ноль.
См. http://www.ascii.cl/ для кодов символов ASCII.
Да, replace
будет по-прежнему работать с ним, просто он не имеет значения в качестве отображаемого символа.
Иногда используется для других целей, см. http://en.wikipedia.org/wiki/Null_character.