![](/img/trans.png)
[英]Python Data Structure: Difference between two types of for-loop in python?
[英]Data types and documentation for for-loop in Python 3
我对数据类型和UTF-8编码感到困惑。 实际情况是什么? 我正在Python 3中读取不带分隔符的凌乱JSON数据(数据有时会包含日语/中文字符)。
我正在读取数据:
url = "http://localhost:8001"
data = urllib.request.urlopen(url).read()
type(data)
它现在返回字节
然后我想逐字阅读
for letter in data:
type(letter)
它返回我字母现在是整数 。 为什么是一个字节,现在是整数? PS我知道我得到的整数表示字符的十进制表示形式。 但是这种来回跳跃让我感到困惑。
PS我也找不到for循环的官方文档。 有一个吗?
谢谢。
您需要将字节解码为str :
In [12]: data = urllib.request.urlopen("http://stackoverflow.com/questions/38014233/data-types-and-documentation-for-for-loop-in-python-3/38014292#38014292").read()
In [13]: type(data)
Out[13]: bytes
In [14]: type(data.decode("utf-8"))
Out[14]: str
In [15]: data[0]
Out[15]: 60
In [16]: data.decode("utf-8")[0]
Out[16]: '<'
解码后,您在循环打印时会看到字符。 urllib.request.urlopen(url).read()
返回bytes ,这取决于您将这些字节解码为str。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.