1

我有一个长字符串的十六进制代码点值。对于一个简短的,以下是好的。

msg = unichr(0x062A) + unichr(0x0627) + unichr(0x0628)
print msg

但是,由于 unichr 的备用 api unicode() 确实存在,我认为必须有一种方法可以将整个代码点字符串传递给它。到目前为止,我无法做到。

现在我必须像上面的 3 一样输入一个 150 个十六进制值(代码点)的字符串来生成一个完整的字符串。我希望得到类似的东西

msg = unicode('0x062A, 0x0627....')

我必须使用 'msg' 后者。打印它只是一个例子。有任何想法吗?

4

3 回答 3

2

很难说出你到底要什么。你在找u'\u062A\u0627\u0628'吗?转义允许您在\uunicode 字符串中按代码点输入单个字符。

于 2012-08-08T07:39:45.003 回答
2

也许是这样的:

", ".join(unichr(u) for u in (0x062A, 0x0627, 0x0628))

结果:

u'\u062a, \u0627, \u0628'

编辑:这使用str.join.

于 2012-08-08T07:40:16.853 回答
0

按照你的例子:

>>> c = u'\u062A\u0627\u0628'
>>> print c
تاب
于 2012-08-08T07:41:16.110 回答