[英]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.