如何正确阅读日文和中文字符。我使用的是python 2.5。输出显示为"E:\Test\?????????"
path = r"E:\Test\は最高のプログラマ"
t = path.encode()
print t
u = path.decode()
print u
t = path.encode("utf-8")
print t
t = path.decode("utf-8")
print t
虽然题目是个问题,但简短的回答显然是否定的。我试过了。真正的问题是为什么?字符串是一些非ascii字符,如中文,XXX是字符串的当前编码。
>>> u'中文' == '中文'.decode('gbk')
False
//The first one is u'\xd6\xd0\xce\xc4' while the second one u'\u4e2d\u6587'
这个例子在上面。我使用的是中文简化的窗口。默认编码是gbk,python也是如此。我得到了两个unicode对象不相等。
更新
a =
我想确保我的代码中所有的字符串都是unicode,所以我使用unicode_literals,然后我需要编写字符串来文件:
from __future__ import unicode_literals
with open('/tmp/test', 'wb') as f:
f.write("中文") # UnicodeEncodeError
所以我需要这样做:
from __future__ import unicode_literals
with open('/tmp/test', 'wb') as f:
几天前,我仔细阅读了关于unicode疼痛的文章,几个小时前我问了这个问题:
但最近一个奇怪的问题出现在我的脑海里。
我发现这些密码很好用:
chinese = ['中文', '你好'] # py2, these are bytes, type is str
with open('filename', 'wb') as f:
f.writelines(chinese)
由于我可以在py2和py3中使用任何unicode字符直接声明变量,所以python(或我们)有哪些unicode类型?我们不能在整个程序中使用str(
当在我的SQL查询浏览器中导入'.csv‘文件时,我遇到了一个很大的问题来纠正陌生的中文字符。当我导入CSV数据时,它会显示如下图所示:
数据库已经更改为UTF8格式,但它显示了一个奇怪的中文字符:
我的SQL查询如下:
LOAD DATA LOCAL INFILE
'c:/2019/countries20.csv'
INTO TABLE countries
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY
我几天前读过"Unicdoe Pain“的文章。我把"Unicode三明治“放在心上。
现在我要处理一些中文,我有一份清单
chinese = [u'中文', u'你好']
在写入文件之前是否需要继续编码?
add_line_break = [word + u'\n' for word in chinese]
encoded_chinese = [word.encode('utf-8') for word in add_line_break]
with open('filename',