从fi读取utf8转义序列

2024-09-30 02:21:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个utf-8编码的文件,包含多行类似

\x02I don't like \x0307bananas\x03.\x02
Hey, how are you doing?
You called?

如何将该文件的行读入列表,解码所有转义序列? 我尝试了以下代码:

^{pr2}$

但它不解码转义符就打印了行。在

\x02I don't like \x0307bananas\x03\x02

(注意:转义符是IRC颜色代码,\x02是粗体文本的字符,\x03前缀是颜色代码。另外,这段代码来自我的IRC bot,MSG函数被print()代替)


Tags: 文件代码编码irc解码utflikehow
2条回答

根据this answer,更改以下内容应该会得到预期的结果。在

在Python 3中

codecs.open(file, 'r', encoding='utf-8')

codecs.open(file, 'r', encoding='unicode_escape')

在Python 2中

codecs.open(file, 'r', encoding='string_escape')

如果您想用相同的格式将文本输出到控制台,那么关键是UNIX(或者您使用什么操作系统?)使用不同于IRC中的ANSI转义序列,因此必须将IRC格式转换为UNIX格式。以下是开始的链接:
https://stackoverflow.com/a/287944/2660503
Color text in terminal applications in UNIX

如果您想打印文本而不格式化,只需使用regexp将其清除即可。在

相关问题 更多 >

    热门问题