python unicode转换为日语ch

2024-10-01 09:42:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用python将u'\u30c9\u30e9\u30b4\u30f3'转换成日语字符

这是我的示例代码

s = u'\u30c9\u30e9\u30b4\u30f3'.encode('utf-8')
print str(s)

我有这个错误 UnicodeEncodeError:“ascii”编解码器无法对0-3位置的字符进行编码:序号不在范围内(128)


Tags: 代码示例错误ascii字符utfencodeprint
3条回答

我在Windows10上的REPL中有一个UnicodeEncodeError表示日语字符。在

我听从了马克·托洛宁的建议

Change system locale

在区域设置中。有一个选项说

Beta: Use Unicode UTF-8 for worldwide language support.

我选中了此选项,并将当前系统区域设置保留为英语(即,未更改)。
重新启动后,REPL开始正确打印日文字符。在

你得到的是字节。{{cd1>使用日文字符。在

这将取决于您的操作系统和配置,但通常,您只需打印Unicode字符串。如果您的操作系统、默认终端编码和字体支持日语,则只需:

>>> s = u'\u30c9\u30e9\u30b4\u30f3'
>>> print s
ドラゴン

在Linux上,这要求您的终端正确配置为(通常)UTF-8。在

在Windows上,您需要一个支持UTF-8的IDE,但是如果使用Windows控制台,您将得到一个UnicodeEncodeError,除非使用支持日语的Windows的本地化版本,或者changing the system locale到日语。另一个解决方法是使用win-unicode-console并安装日语控制台字体。在

上面的例子使用了pywin32模块附带的PythonWin IDE,也可以在标准Python安装附带的pythonwide中工作。在

相关问题 更多 >