背景
使用工具 youtube-dl 时,刚设置完 "C:UsersAdministratorAppDataRoamingyoutube-dlconfig.txt", 就遇到了问题:
PS E:videoWhats-new-in-Chrome> youtube-dl -U
Traceback (most recent call last):
File "main.py", line 19, in
File "C:UsersdstAppDataRoamingBuild archiveyoutube-dlytdl-org mpksi3o1r1uildyoutube_dl_init_.py", line 474, in main
File "C:UsersdstAppDataRoamingBuild archiveyoutube-dlytdl-org mpksi3o1r1uildyoutube_dl_init_.py", line 58, in _real_main
File "C:UsersdstAppDataRoamingBuild archiveyoutube-dlytdl-org mpksi3o1r1uildyoutube_dloptions.py", line 904, in parseOpts
File "C:UsersdstAppDataRoamingBuild archiveyoutube-dlytdl-org mpksi3o1r1uildyoutube_dloptions.py", line 78, in _readUserConf
File "C:UsersdstAppDataRoamingBuild archiveyoutube-dlytdl-org mpksi3o1r1uildyoutube_dloptions.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 不再报错了。