簡體   English   中英

python unicode轉換為日語字符

[英]python unicode convert to Japanese character

我正在嘗試使用python將u'\\ u30c9 \\ u30e9 \\ u30b4 \\ u30f3'轉換為日語字符

這是我的示例代碼

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

我收到此錯誤UnicodeEncodeError:'ascii'編解碼器無法在位置0-3處編碼字符:序數不在范圍內(128)

這將取決於您的操作系統和配置,但是通常情況下,您只需要打印Unicode字符串即可。 如果您的操作系統,默認終端編碼和字體支持日語,則只需:

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

在Linux上,這要求您的終端已正確配置為(通常)UTF-8。

在Windows上,您需要一個支持UTF-8的IDE,但是如果使用Windows控制台,除非使用支持日語的本地化版本的Windows或將系統區域設置更改為日語,否則您將收到UnicodeEncodeError 另一個解決方法是使用win-unicode-console並安裝日語控制台字體。

上面的示例使用了pywin32模塊隨附的PythonWin IDE,並且還可以在標准Python安裝隨附的Python IDLE IDE中使用。

我在Windows 10的REPL中遇到了日語字符的UnicodeEncodeError

我按照馬克·托隆寧的建議去了

更改系統區域設置

在區域設置中。 有一個選項說

Beta:使用Unicode UTF-8獲得全球語言支持。

我選中了此選項,而將當前系統區域設置保留為英語(即不變)。
重新啟動后,REPL開始正確打印日語字符。

您獲得s的字節數。 要獲取日語字符,請使用print(s.decode('utf-8'))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM