作者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
1F:→ sbrhsieh:感觉你似乎误会 raw_input 的作用。 10/29 17:27
2F:→ sbrhsieh:请你把程式码一行一行打(或贴上),不要一次贴上多行 10/29 17:36
3F:→ sbrhsieh:3执行 raw_input function 会等待你输入一些文字 10/29 17:36
4F:→ sbrhsieh:以本篇的目的来说,你的输入要包含一些中文字 10/29 17:37
5F:→ KSJ:了解~ 感谢 10/29 18:07