作者KSJ (阿真)
看板Python
標題Re: [問題] 新手請教:如何印出字碼?
時間Thu Oct 29 14:57:53 2009
雖然code編碼是個月經文
但我還是沒有實際了解過
例如這個討論串在我的(python 2.5.4) 下 出現這個結果
http://imgur.com/MJhKL.gif
是不是編譯器 "聰明地" 幫我做了一些編碼的變換
造成我對 "已編碼的東西再編一次碼" 變成怪怪的結果
有人可以提供一下觀念或相關網址嗎??(方便的話)
※ 引述《sbrhsieh (偶爾想擺爛一下)》之銘言:
: ※ 引述《coscell (顧人怨)》之銘言:
: : #coding=big5
: : a=u'大家好'
: : for i in a:
: : print hex(ord(unicode(i))),
: : 可以順利印出 0x5927 0x5bb6 0x597d
: : 如果把 a 改由使用者輸入:
: : a=raw_input('請輸入文字: ')
: : 輸入 大家好 會產生錯誤:
: : Traceback (most recent call last):
: : File "a", line 4, in <module>
: : print hex(ord(unicode(i))),
: : UnicodeDecodeError: 'ascii' codec can't decode byte 0xa4 in position 0: ordinal
: : not in range(128)
: : 請問要如何修改?感謝指點!
: a=raw_input('請輸入文字: ')
: a=a.decode('cp950') #依照你的 console 使用的字頁碼
: for x in a:
: print hex(ord(x))
這邊為什麼 a沒有先執行呢?
會等到decode完才執行??還是我哪裡看錯了@_@a?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.63.180
→ sbrhsieh:感覺你似乎誤會 raw_input 的作用。 10/29 17:27
→ sbrhsieh:請你把程式碼一行一行打(或貼上),不要一次貼上多行 10/29 17:36
→ sbrhsieh:3執行 raw_input function 會等待你輸入一些文字 10/29 17:36
→ sbrhsieh:以本篇的目的來說,你的輸入要包含一些中文字 10/29 17:37
→ KSJ:了解~ 感謝 10/29 18:07