Python 构造Unicode字符串
我正试图用Python3.x构建并打印一个Unicode字符串。因此,例如,以下方法很好:Python 构造Unicode字符串,python,python-3.x,python-unicode,Python,Python 3.x,Python Unicode,我正试图用Python3.x构建并打印一个Unicode字符串。因此,例如,以下方法很好: a = '\u0394' print(a) Δ 但如果我试图通过附加两个字符串来构造它,我会遇到几个问题: a = '\u' File "<stdin>", line 1 SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-1: truncated \uXXXX escap
a = '\u0394'
print(a)
Δ
但如果我试图通过附加两个字符串来构造它,我会遇到几个问题:
a = '\u'
File "<stdin>", line 1
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-1: truncated \uXXXX escape
a = '\\u'
b = '0394'
c = a + b
print(c)
\u4308
a='\u'
文件“”,第1行
SyntaxError:(unicode错误)'UnicodeScape'编解码器无法解码位置0-1中的字节:截断\uxxx转义
a='\\u'
b='0394'
c=a+b
印刷品(c)
\u4308
我在这里遗漏了什么?
\uhhh
是一个转义序列,一种用于字符串文本的符号。你不能从部分构造符号,至少不能直接这样
通常,您会使用从整数生成单个字符:
>>> chr(int('0394', 16))
'Δ'
例如,我首先将十六进制字符串0394
解释为基数为16的整数
如果必须生成Python字符串文字转义符号,请使用codecs.decode()
和unicode\u转义
编解码器:
>>> import codecs
>>> r'\u' + '0394'
'\\u0394'
>>> codecs.decode(r'\u' + '0394', 'unicode_escape')
'Δ'
\uhhh
是一个转义序列,一种用于字符串文本的符号。你不能从部分构造符号,至少不能直接这样
通常,您会使用从整数生成单个字符:
>>> chr(int('0394', 16))
'Δ'
例如,我首先将十六进制字符串0394
解释为基数为16的整数
如果必须生成Python字符串文字转义符号,请使用codecs.decode()
和unicode\u转义
编解码器:
>>> import codecs
>>> r'\u' + '0394'
'\\u0394'
>>> codecs.decode(r'\u' + '0394', 'unicode_escape')
'Δ'