最近我在扩展到非英语语言时遇到问题,其中重音字符(等)会在打印或保存到文件时显示为Public selectedItem As Long
。
为了解决这个问题,我想出了一个用\xe4
替换"xe4"
的短期解决方案。稍后进行了一些更改,这个小作弊工作但很长,很难看,并且要求我在遇到它时定义每个角色,这意味着我必须重复使用相同的大量代码块替换线。该数据也存储在元组中,有时可能是半问题。
有一种简单的方法来证明这种方法的未来发展方向吗?有人写过函数或更好的方法来解决这个问题吗?我的系统在Python 2.7.5上运行
答案 0 :(得分:0)
假设UTF-8:
print ["る"], type("る") # ['\xe3\x82\x8b'] <type 'str'>
print ["る".decode("utf-8")], type("る".decode("utf-8")) # [u'\u308b'] <type 'unicode'>
print [u"る"], type(u"る") # [u'\u308b'] <type 'unicode'>
我认为您获得的\xe4
是因为它是一个字符串,您需要将其转换为unicode。
当您使用"xe4"
替换u"00e4"
时,这实际上就是您正在做的事情。