我的開發環境是:eclipse + pydev。如何使用raw_input獲取漢字
如果我使用raw_input()來獲得角色,我輸入「你好世界」,然後我得到「使用權」。那我怎樣才能得到「你好世界」並正確地打印出來。
我試過raw_input()。decode(sys.stdin.encoding),但結果是一樣的。
我的開發環境是:eclipse + pydev。如何使用raw_input獲取漢字
如果我使用raw_input()來獲得角色,我輸入「你好世界」,然後我得到「使用權」。那我怎樣才能得到「你好世界」並正確地打印出來。
我試過raw_input()。decode(sys.stdin.encoding),但結果是一樣的。
使用終端/控制檯的代碼頁解碼。
import sys
t = raw_input().decode(sys.stdin.encoding)
print t
它不起作用〜 – woodenhead
@ user2705767:如果這不起作用,那麼它可能是您的終端仿真器設置或您的鍵盤語言設置是borken。終端在輸入時回顯的是什麼? –
檢查您正在使用的編碼。根據@imom0's comment,我去了並嘗試gbk
編碼。具體地說,這是我的Python 2.7.3經由ibus
解釋器使用UTF-8編碼輸入:
>>> print raw_input().decode('gbk')
你好世界
浣犲ソ涓栫晫
>>> print raw_input().decode('utf-8')
你好世界
你好世界
這是試圖將UTF-8編碼的字符串作爲gbk
解碼結果。由於您的輸入似乎是某種形式的UTF,爲什麼不執行utf-8解碼或使用輸入的編碼來解碼它,如@ignacio-vazquez-abrams' answer?
import sys
print myString.decode(sys.stdin.encoding)
我的IDE是eclipse + pydev,它似乎不起作用。 – woodenhead
感謝您的回覆。請編輯問題以更新什麼不起作用以及您看到的內容。 – icedwater
你究竟是如何得到'作用'的? IE,你在哪裏找到該結果 – TerryA
在[1]:S =的raw_input() 你好世界 在[2]:打印s.decode( 'UTF-8') 你好世界 在[3 ]:print s.decode('gbk') 開始使用 – iMom0
你到目前爲止使用的代碼是什麼?這是在python終端,我猜? – icedwater