Python将(iPhone)表情符号写入文件
发布时间:2020-12-16 21:36:45 所属栏目:Python 来源:网络整理
导读:我一直在尝试编写一个简单的脚本,可以将用户输入(源自iPhone)保存到文本文件中.我遇到的问题是,当用户使用表情符号图标时,它会打破整个事情. 操作系统:Ubuntu Python版本:2.7.3 我的代码目前看起来像这样 f = codecs.open(path,"w+",encoding="utf8")f.wri
我一直在尝试编写一个简单的脚本,可以将用户输入(源自iPhone)保存到文本文件中.我遇到的问题是,当用户使用表情符号图标时,它会打破整个事情.
操作系统:Ubuntu Python版本:2.7.3 我的代码目前看起来像这样 f = codecs.open(path,"w+",encoding="utf8") f.write("Desc: " + json_obj["description"]) f.close() 当在描述变量中传递表情符号字符时,我收到错误: UnicodeEncodeError:’ascii’编解码器无法编码位置7-8中的字符:序数不在范围内(128) 任何可能的帮助表示赞赏. 解决方法
这里最可能的问题是json_obj [“description”]实际上是一个UTF-8编码的str,而不是unicode.因此,当您尝试将其写入编解码器包装文件时,Python必须将其从str解码为unicode,以便对其进行重新编码.这是失败的部分,因为自动解码使用sys.getdefaultencoding(),即’ascii’.
例如: >>> f = codecs.open('emoji.txt','w+',encoding='utf-8') >>> e = u'U0001f1ef' >>> print e |