背景

使用工具 youtube-dl 时,刚设置完 "C:\Users\Administrator\AppData\Roaming\youtube-dl\config.txt", 就遇到了问题:

PS E:\video\Whats-new-in-Chrome> youtube-dl -U
Traceback (most recent call last):
File "main.py", line 19, in
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpksi3o1r1\build\youtube_dl_init_.py", line 474, in main
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpksi3o1r1\build\youtube_dl_init_.py", line 58, in _real_main
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpksi3o1r1\build\youtube_dl\options.py", line 904, in parseOpts
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpksi3o1r1\build\youtube_dl\options.py", line 78, in _readUserConf
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpksi3o1r1\build\youtube_dl\options.py", line 49, in _readOptions
UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 39: illegal multibyte sequence

研究

看样子是编码问题。
首先想到的是 txt 的文本编码。创建 config.txt 时用的是 notepad++,默认 utf-8。
而 windows 的记事本(notepad)默认是 ANSI。
youtube-dl 的设计者应该也是默认用户使用 notepad 创建文本吧。

解决方案

于是,用记事本重新打开 config.txt ,另存为,选则编码 ANSI,替换原文件。
再次执行 youtube-dl -U 不再报错了。

posted on 2020-12-04 13:59  死宅程序员  阅读(582)  评论(0编辑  收藏  举报