在特定范围内生成随机Unicode

4 投票
1 回答
2338 浏览
提问于 2025-04-17 03:01

我正在尝试生成随机的Unicode字符,要求是以两个数字加字母的组合开头。

我试过下面的代码,但出现了错误。

def rand_unicode():
    b = ['03','20']
    l = ''.join([random.choice('ABCDEF0123456789') for x in xrange(2)])
    return unicode(u'\u'+random.choice(b)+l,'utf8')

我遇到的错误是:

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-1: end of string in escape sequence

我使用的是Python 2.6版本。

1 个回答

5

嗯,这样做是不对的。

return unichr(random.choice((0x300, 0x2000)) + random.randint(0, 0xff))

撰写回答