RealMoYe 2018-12-26 15:30 采纳率: 0%
浏览 1131

Linux修改文件编码类型怎么实现?

想要把ASCII编码格式的文件转成UTF-8格式编码的文件,但是尝试了网上说的几种方式,均无法实现,不知道有哪里没做对?

# vim打开文件后,直接设置编码格式
:set fileencoding=utf-8

# iconv工具转换
iconv -f ASCII -t UTF-8 test.json > test1.json

# conmv工具转换
convmv -f ASCII -t UTF-8 test.json
  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-07 13:36
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    要将一个以ASCII编码存储的文本文件转换为UTF-8编码,请使用以下步骤:

    1. 使用iconv工具:这个命令将从ASCII转换到UTF-8。
    iconv -f ASCII -t UTF-8 test.txt > test1.txt
    
    1. 使用conmv工具:这个命令同样可以从ASCII转换到UTF-8。
    conmv -f ASCII -t UTF-8 test.txt > test1.txt
    

    这两个命令都将test.txt中的内容从ASCII转换为UTF-8。

    如果在尝试这些方法时遇到问题,可能是因为你的系统中没有安装iconvconmv。你可以通过运行以下命令来安装它们:

    sudo apt-get install iconv
    

    或者如果你使用的是Debian系统,可以使用以下命令:

    sudo apt-get install libiconv-dev
    

    然后重新运行上述命令即可。

    另外,如果你已经知道文件的内容,并且你希望保持原始内容不变(例如,如果你想保留文件中的特殊字符),那么可以考虑使用Python的内置函数open()write(),如下所示:

    with open('test.txt', 'r') as f:
        content = f.read()
    
    content = content.encode('utf-8')
    with open('test1.txt', 'w') as f:
        f.write(content)
    

    这样可以确保即使文件的内容发生改变,输出结果也不会受到影响。

    评论

报告相同问题?