C has a consistent approach for traditional strings and Unicode strings. This is about Python, not C. Byte strings behaving so much differently is inconsistent and confusing. Using similar syntax as if they behave like strings is misleading. Why use the string syntax at all then?