s是个str对象,中文字符串。存储方式是字节码。字节码是怎么存的:如果这行代码在python解释器中输入&运行,那么s的格式就是解释器的编码格式;如果这行代码是在源码文件中写入、保存然后执行,那么解释器载入代码时就将s初始化为文件指定编码;unicode是一种编码标准,具体的实现可能是utf-8,utf-16,gbk等等,这就是中文字符串和unicode有密切关系的原因。python内部使用两个字节存储一个unicode对象,为什么要用unicode而不用str呢,因为中文转码的缘故,因为unicode的优点是便于跨平台。只要注意正确的decode、encode方式,统一编码后就能顺利地拼接了。对于str要注意当前环境编码方式,也许是控制台那种设定好了的,也许是你自己在代码中指定的。

浅谈python中str字符串和unicode对象字符串的拼接问题