2024-04-25 22:03:28 发布
网友
给定一个带Unicode转义符的字节字符串b"\N{SNOWMAN}",b"\N{SNOWMAN}".decode('unicode-escape)将生成预期的Unicode字符串u'\u2603'。
b"\N{SNOWMAN}"
b"\N{SNOWMAN}".decode('unicode-escape)
u'\u2603'
我怀疑它确实工作正常。默认情况下,Python以ASCII编码显示字符串,因为并非所有终端都支持unicode。不过,如果你真的打印字符串,它应该可以工作。请参见以下示例:
>>> u'\xcfa' u'\xcfa' >>> print u'\xcfa' Ïa
假设Python将名称视为普通字符串,则首先必须将其解码为unicode:
>>> name 'Christensen Sk\xf6ld' >>> unicode(name, 'latin-1') u'Christensen Sk\xf6ld'
实现这一目标的另一种方式:
>>> name.decode('latin-1') u'Christensen Sk\xf6ld'
注意字符串前面的“u”,表示它未编码。如果打印此文件,将正确显示重音字母:
>>> print name.decode('latin-1') Christensen Sköld
BTW:必要时,可以使用de“encode”方法将unicode转换为UTF-8字符串:
>>> name.decode('latin-1').encode('utf-8') 'Christensen Sk\xc3\xb6ld'
给定一个带Unicode转义符的字节字符串
b"\N{SNOWMAN}"
,b"\N{SNOWMAN}".decode('unicode-escape)
将生成预期的Unicode字符串u'\u2603'
。我怀疑它确实工作正常。默认情况下,Python以ASCII编码显示字符串,因为并非所有终端都支持unicode。不过,如果你真的打印字符串,它应该可以工作。请参见以下示例:
假设Python将名称视为普通字符串,则首先必须将其解码为unicode:
实现这一目标的另一种方式:
注意字符串前面的“u”,表示它未编码。如果打印此文件,将正确显示重音字母:
BTW:必要时,可以使用de“encode”方法将unicode转换为UTF-8字符串:
相关问题 更多 >
编程相关推荐