首先,我有这个:
strSrc = '3.14'
我希望结果是这样的:
strRst = '叁点壹肆'
Ps:繁体中的数字“3”是“叁”。这里:
0零 1壹 2贰 3叁 4肆 5伍 6陆 7柒 8捌 9玖</p>
我想使用string.translate()strSrc
翻译成中文。
我检查了string.translate() 文档,它说:
然后使用 table 翻译字符,它必须是 256 个字符的字符串
那么,这是否意味着我不应该使用string.translate ()来解决这个问题?
但它总是出现编码问题,如下所示:
>>> engToChn = string.maketrans('0123456789.', '零壹贰叁肆伍陆柒捌玖点')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: maketrans arguments must have same length
如果你试试这个:
>>> engToChn = string.maketrans('0123456789.', u'零壹贰叁肆伍陆柒捌玖点')
or
>>> engToChn = string.maketrans(u'0123456789.', u'零壹贰叁肆伍陆柒捌玖点')
它会出现这个问题:
Traceback (most recent call last)
File "<stdin>", line 1, in module
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-10: ordinal not in range(128)