On Feb 5, 2007, at 5:25 PM, Neil Schemenauer wrote: > don't > think I would make "utf-8" the default encoding but use "ascii", > like the Python interpreter. I'm trying to think of the practical impact of this choice. The behavior would be different only if you have non-ascii, not-utf-8 str instancess that you want to combine with (or use to make new) htmltext instances. I imagine they would most likely come from a database, or an external file. If the programmer knows the encoding of this outside string, then he/she will need to explicitly provide it to decode the string. Failure to do this will *always* result in an error if the default is 'ascii', but the might go unnoticed if the default encoding is 'utf-8'. I think this is the case where 'ascii' is better as a default value. The 'utf-8' default has the advantage, however, in applications that always store unicode instances using a utf-8 encoding. If that pattern is followed, then the programmer can stop working on encoding puzzles. I like that. I also like having a default encoding for __str__() that can handle non-ascii characters. I like it that "print str(x)" does not ever raise an encoding error when x is an h8 instance.