为了账号安全,请及时绑定邮箱和手机立即绑定

Unicode(UTF-8)在Python中读取和写入文件

Unicode(UTF-8)在Python中读取和写入文件

吃鸡游戏 2019-07-31 14:36:56
Unicode(UTF-8)在Python中读取和写入文件我在理解文本读取和写入文件时遇到了一些大脑失败(Python 2.4)。# The string, which has an a-acute in it.ss = u'Capit\xe1n'ss8 = ss.encode('utf8')repr(ss), repr(ss8)(“u'Capit \ xe1n'”,“'Capit \ xc3 \ xa1n'”)print ss, ss8print >> open('f1','w'), ss8>>> file('f1').read()'Capit\xc3\xa1n\n'所以我输入Capit\xc3\xa1n我最喜欢的编辑器,在文件f2中。然后:>>> open('f1').read()'Capit\xc3\xa1n\n'>>> open('f2').read()'Capit\\xc3\\xa1n\n'>>> open('f1').read().decode('utf8')u'Capit\xe1n\n'>>> open('f2').read().decode('utf8')u'Capit\\xc3\\xa1n\n'我在这里不理解什么?显然,我缺少一些重要的魔法(或者很有道理)。在文本文件中键入什么来获得正确的转换?我真正没有想到的是,UTF-8表示的重点是,如果你真的不能让Python识别它,那么它来自外部。也许我应该只是JSON转储字符串,并使用它,因为它有一个asciiable表示!更重要的是,当从文件进入时,Python会识别和解码这个Unicode对象的ASCII表示吗?如果是这样,我怎么得到它?>>> print simplejson.dumps(ss)'"Capit\u00e1n"'>>> print >> file('f3','w'), simplejson.dumps(ss)>>> simplejson.load(open('f3'))u'Capit\xe1n'
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 2954 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信