まず、私はこれを持っています:
strSrc = '3.14'
そして、結果がこれであることを願っています:
strRst = '叁点壹肆'
Ps: 繁体字中国語の「3」は「叁」です。ここ:
0零 1壹 2贰 3叁 4肆 5伍 6陆 7柒 8捌 9玖</p>
string.translate()strSrc
を使用して中国語に翻訳したい。
string.translate() docを確認すると、次のように書かれています。
次に、表を使用して文字を変換します。表は 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)