作者:加乘ACCA财务英语教室_438 | 来源:互联网 | 2023-09-24 18:53
我们都是知道,要打印中文,需要设定字符编码,一般就是代码前面加上:#encoing:utf-8/gbk 诸如此类,然后打印时,特别在中文字符串前,标注u
也就是:
1 2
| #encoding:utf-8
print u"中文" |
但是我现在有一个字符串:
1 2 3 4 5 6
| #encoding:utf-8
a = "这是一个中文字符串"
print u'a'
//=>a |
也就是如果包裹起来,a会被当成字符串来出来,而不是变量,请教如何打印中文变量呢?
另外,当我尝试把这个字符串写入到文件里,会提示:
1
| TypeError: expected a character buffer object |
请问这又是怎么回事呢?
补充:当我把要写入的中文字符,转换为str时,又能写入了,是一堆ascii编码?
1 2
| conn.write(str(a))
//=>r\n\xc8\xcb\xc3\xf1\xd2\xf8\xd0\xd0\xc0\xe8\xc6\xbd\xd6\xa7\xd0\xd0\xc8\xab\xb7\xbd\x |