Octal é igual a decimal em que 0 == 0, e 0000 == 0, 0 == 000000, etc. O fato de que a troca aqui é -0
pode tornar as coisas um pouco confusas - eu presumo ponto sobre "o valor especial 00" significa um 0 para o switch e um para o valor; adicionar mais zeros não vai mudar o último, então você obtém a mesma coisa ...
Até certo ponto. O comportamento de 000000
etc. é parecido com um bug, mas tenha em mente que isso deve se referir a um único valor de 8 bits . O intervalo de 8 bits em decimal é 0-255, em octal, 0-377. Então você não pode usar mais de 3 dígitos aqui de forma significativa (os valores especiais estão todos fora desse intervalo, mas ainda 3 dígitos + o switch). Você talvez queira inferir isso de:
You can also specify the separator character using hexadecimal notation: -0xHHH..., where the H are valid hexadecimal digits. Unlike the octal form, this one may be used to specify any Unicode character, even those beyond 0xFF.
0xFF hex == 255 decimal == 377 octal == max para 8 bits, o tamanho de um byte e um caractere no conjunto ASCII (estendido).