Message 82660 - Python tracker
In Py2.x, I think the desired behavior should match str.join(). If either input in unicode the output is unicode. If both are ascii, ascii should come out. For Py3.x, I think the goal was to have str.join() enforce that both inputs are unicode. If either are bytes, then you have to know the encoding.