我正在使用Python 2.6.5,当我在Python shell中运行以下内容时,我得到:
>>> print u'Andr\xc3\xa9'
André
>>> print 'Andr\xc3\xa9'
André
>>>
Run Code Online (Sandbox Code Playgroud)
上面有什么解释?鉴于u'Andr\xc3\xa9',如何在html页面中正确显示上述值,以便显示André而不是André?
int*_*jay 11
'\xc3\xa9'是unicode字符的UTF-8编码u'\u00e9'(也可以指定为u'\xe9').所以你可以使用u'Andr\u00e9'或u'Andr\xe9'.
您可以从一个转换为另一个:
>>> 'Andr\xc3\xa9'.decode('utf-8')
u'Andr\xe9'
>>> u'Andr\xe9'.encode('utf-8')
'Andr\xc3\xa9'
Run Code Online (Sandbox Code Playgroud)
请注意,之所以print 'Andr\xc3\xa9'给出预期结果,只是因为系统的默认编码是UTF-8.例如,在Windows上我得到:
>>> print 'Andr\xc3\xa9'
Andr??
Run Code Online (Sandbox Code Playgroud)
至于输出HTML,它取决于您使用的Web框架以及HTML页面中输出的编码.一些框架(例如Django)会自动将unicode值转换为正确的编码,而其他框架则需要您手动执行此操作.
| 归档时间: |
|
| 查看次数: |
3567 次 |
| 最近记录: |