如何将文件名重命名为不同的编码?

Pab*_*blo 11 scripts encoding 12.04

file namereiserfs安装的硬盘上有 3 种类型的编码:CP1251、KOI-8、UTF-8 和 ASCII。我真的需要递归地将所有编码转换为 UTF-8。是否有任何实用程序可以检测源编码并将其转换为 UTF-8 或者我必须编写 Python 脚本?

Mar*_*ior 16

使用 convmv,这是一种 CLI 工具,可在不同编码之间转换文件名。要将 ( -f) 这些-t编码转换为 ( ) UTF-8,请执行以下操作:

convmv -f CP1251 -t UTF-8 inputfile
convmv -f KOI-8  -t UTF-8 inputfile
convmv -f ASCII  -t UTF-8 inputfile
Run Code Online (Sandbox Code Playgroud)

此外,如果您想转换文件内容,请使用iconvCLI 工具 将文件内容转换为不同的编码。要将 ( -f) 这些-t编码转换为 ( ) UTF-8,请执行以下操作:

iconv -f CP1251 -t UTF-8 inputfile > outputfile
iconv -f KOI-8  -t UTF-8 inputfile > outputfile
iconv -f ASCII  -t UTF-8 inputfile > outputfile
Run Code Online (Sandbox Code Playgroud)