Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 构造Unicode字符串_Python_Python 3.x_Python Unicode - Fatal编程技术网

Python 构造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

我正试图用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 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')
'Δ'