gpt4 book ai didi

python - 读取字符时python中的UTF-8问题

转载 作者:太空狗 更新时间:2023-10-29 20:40:14 25 4
gpt4 key购买 nike

我使用的是 Python 2.5。这里发生了什么?我误解了什么?我该如何解决?

in.txt:

Stäckövérfløw

code.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
print """Content-Type: text/plain; charset="UTF-8"\n"""
f = open('in.txt','r')
for line in f:
print line
for i in line:
print i,
f.close()

输出:

Stäckövérfløw

S t � � c k � � v � � r f l � � w

最佳答案

for i in line:
print i,

读文件的时候,读入的字符串是字节串。 for 循环一次迭代一个字节。这会导致 UTF-8 编码字符串出现问题,其中非 ASCII 字符由多个字节表示。如果你想使用 Unicode 对象,字符是基本部分,你应该使用

import codecs
f = codecs.open('in', 'r', 'utf8')

如果 sys.stdout 还没有合适的编码集,您可能需要将其包装起来:

sys.stdout = codecs.getwriter('utf8')(sys.stdout)

关于python - 读取字符时python中的UTF-8问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/985486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com