【发布时间】:2010-10-25 12:53:40
【问题描述】:
我正在我的一个脚本中测试 chardet。我想确定结果变量的编码类型,而 chardet 似乎在这里做得很好。
这就是我正在做的:
myvar1
myvar2 = chardet.detect(myvar1)
现在,当我执行 print myvar2 时,我会收到输出:
{'置信度': 1.0, '编码': 'ascii'}
问题1:谁能指点一下如何只收集其中的编码值部分,即ascii。
编辑: 场景如下:
我正在使用 unicode(myvar1) 将所有输入写为 unicode。但是,一旦 myvar1 获得像 0xab 这样的值,unicode(myvar1) 就会失败并出现错误:
UnicodeDecodeError: 'ascii' 编解码器 无法解码位置 xxx 中的字节 0xab:序数不在范围内(128)
因此,我想:
- 首先确定myvar1中输入的编码类型,
- 取myvar2中的编码类型,
- 使用 decode() [?] 使用此编码 (myvar2) 解码输入 (myvar1)
- 将其传递给 unicode。
输入是可变的,不受我控制。
我确信还有其他方法可以做到这一点,但我对此并不陌生。我愿意尝试。
请指点。
非常感谢。
【问题讨论】:
标签: python