-1
我有以下代碼非常奇怪。python sys.argv UTF-8 unicode不工作
當我執行以下操作時,utf-8很好地轉換爲unicode。
print u'\xE1\x80\x96\xE1\x80\xBB\xE1\x80\xB1\xE1\x80\xAC\xE1\x80\xBA\xE1\x80\x9B\xE1\x80\x8A\xE1\x80\xBA'.encode('raw_unicode_escape')
這工作正常。但是,當我從sys.argv獲取utf-8字符串時,它不起作用。
import sys
if __name__ == "__main__":
args = sys.argv
input_string = args[1]
if type(input_string) is not unicode:
input_string = unicode(input_string, "utf-8")
print type(input_string)
print input_string
當我運行像下面,
python test_print.py "\xE1\x80\x96\xE1\x80\xBB\xE1\x80\xB1\xE1\x80\xAC\xE1\x80\xBA\xE1\x80\x9B\xE1\x80\x8A\xE1\x80\xBA"
我得到了以下相同的字符串,它不會轉換爲Unicode。
<type 'unicode'>
\xE1\x80\x96\xE1\x80\xBB\xE1\x80\xB1\xE1\x80\xAC\xE1\x80\xBA\xE1\x80\x9B\xE1\x80\x8A\xE1\x80\xBA
我需要將輸入從sys.argv轉換爲unicode字符。
請幫忙。
謝謝。
這甚至更好。謝謝。 – moeseth