gpt4 book ai didi

python - Python UTF-16 输出和 Windows 行尾有错误吗?

转载 作者:可可西里 更新时间:2023-11-01 09:50:09 25 4
gpt4 key购买 nike

使用这段代码:

测试.py

import sys
import codecs

sys.stdout = codecs.getwriter('utf-16')(sys.stdout)

print "test1"
print "test2"

然后我运行它:

test.py > test.txt

在 Windows 2000 上的 Python 2.6 中,我发现换行符被输出为字节序列 \x0D\x0A\x00 这当然是错误的对于 UTF-16。

我是不是遗漏了什么,或者这是一个错误?

最佳答案

试试这个:

import sys
import codecs

if sys.platform == "win32":
import os, msvcrt
msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)

class CRLFWrapper(object):
def __init__(self, output):
self.output = output

def write(self, s):
self.output.write(s.replace("\n", "\r\n"))

def __getattr__(self, key):
return getattr(self.output, key)

sys.stdout = CRLFWrapper(codecs.getwriter('utf-16')(sys.stdout))
print "test1"
print "test2"

关于python - Python UTF-16 输出和 Windows 行尾有错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1169742/

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