Python 3.0和repr
我不了解Python 3.0中的口译员的行为。我是
在Windows(US English)的命令提示符下工作,该命令具有终端
CP437的编码。
在Python 2.5中:
Python 2.5(R25:51908,Sep 19 2006,09:52:17)[MSC V.1310 32 BIT
(英特尔)
32
键入"帮助","版权","学分"或"许可"以获取更多信息。
u'\ u5000'
在Python 3.0中:
Python 3.0RC1(R30RC1:66507,Sep 18 2008,14:47:08)[MSC V.1500 32 BIT
(英特尔)]
在Win32上
键入"帮助","版权","学分"或"许可"以获取更多信息。
Trackback(最近的最新电话):
文件"
文件" C:\ dev \ python30 \ lib \ io.py",第1486行,在写
b = encoder.encode(s)
文件" c:c:\ dev \ python30 \ lib \ cododings \ cp437.py",第19行,在encode中
return codecs.charmap_encode(输入,self.errors,encoding_m ap)[0]
UnicenCodeError:'CharMap'编解码器无法编码字符'\ u5000'
位置
1:字符地图
我期望的地方
'\ u5000'
不论输出编码如何,x工作的ret()不应该吗?另一个测试:
Python 3.0RC1(R30RC1:66507,Sep 18 2008,14:47:08)[MSC V.1500 32 BIT
(英特尔)]
在Win32上
键入"帮助","版权","学分"或"许可"以获取更多信息。
'\ x00 \ x01 \ x02 \ x03 \ x04 \ x05 \ x05 \ x06 \ x07 \ x07 \ x08 \ x08 \ t \ n \ n \ x0b \ x0b \ x0c \ x0e \ x0e \ x0e \ x0f \ x0f \ x11111
x15 \ x16 \ x17 \ x18 \ x19 \ x1a \ x1b \ x1c \ x1c \ x1d \ x1e \ x1f
!"#$%&\'()*+, - 。
defghijklmnopqrstuvwxyz [\\]^_` abcdefghijklmnopqrstuvwxyz {|}〜\x7fâ\x7fâ\x7fâ©â©â©â€¢â€€
â€â€€ - - -
_±££�— ° -
'\ xa0'
CP437中无法显示的字符正在逃脱,例如
0x00-0x1f,0x7f和0xa0。即使我错误地解码一个值,如果
角色存在于CP437中,显示出:
'一个'
但是,对于CP437不支持的角色,解码不正确:
'*'
Trackback(最近的最新电话):
文件"
文件" C:\ dev \ python30 \ lib \ io.py",第1486行,在写
b = encoder.encode(s)
文件" c:c:\ dev \ python30 \ lib \ cododings \ cp437.py",第19行,在encode中
return codecs.charmap_encode(输入,self.errors,encoding_m ap)[0]
unicodeCodeError:'Charmap'编解码器无法编码字符'\ xfe'
位置1:
字符地图
为什么不在这里显示'\ xfe'?似乎这种不一致会造成
很难写一些不依赖于医生的医生
测试人员的终端。这也使得在没有的情况下检查变量很难
十六进制(ORD(n))以字符为基础。也许ret()应该永远
显示ASCII表示,所有其他字符的Escapes,
特别是考虑到" reter()应产生适合eval()的输出
如有可能的"规则"。
别人的意见是什么?对此DE的任何见解 签名决定?
-标记