我得到了 ZIP 文件,其中包含文件,哪些文件名采用某种编码。假设我知道这些文件名的编码,但我仍然不知道如何正确解压缩它们。
这是示例文件,它包含一个文件“?SSK????吸血鬼日记????S06E12.ass”
我知道使用的编码是 GB18030(中文)
问题是 - 如何使用 unzip 或其他 CLI 实用程序在 FreeBSD 中解压缩该文件以获得正确编码的文件名?我尽我所能,但结果从来没有好。请帮忙。
我在 OSX 上试过:
MBP1:test 2ge$ bsdtar xf gb18030.zip
MBP1:test 2ge$ ls
%A1%BESSK%D7%D6L?%D7?The Vampire Diaries %CE%FC?%B9%ED%C8?%C7S06E12/ gb18030.zip
MBP1:test 2ge$ cd %A1%BESSK%D7%D6L?%D7?The\ Vampire\ Diaries\ %CE%FC?%B9%ED%C8?%C7S06E12/
MBP1:%A1%BESSK%D7%D6L?%D7?The Vampire Diaries %CE%FC?%B9%ED%C8?%C7S06E12 2ge$ ls
%A1%BESSK%D7%D6L?%D7?The Vampire Diaries %CE%FC?%B9%ED%C8?%C7S06E12.ass*
MBP1:%A1%BESSK%D7%D6L?%D7?The Vampire Diaries %CE%FC?%B9%ED%C8?%C7S06E12 2ge$ find . | iconv -f gb18030 -t utf-8
.
./%A1%BESSK%D7%D6L?%D7??he Vampire Diaries %CE%FC?%B9%ED%C8?%C7S06E12.ass
MBP1:%A1%BESSK%D7%D6L?%D7?The Vampire Diaries %CE%FC?%B9%ED%C8?%C7S06E12 2ge$ convmv -r -f gb18030 -t utf-8 --notest …Run Code Online (Sandbox Code Playgroud)