精华内容
下载资源
问答
  • Zip解压-可设置压缩文件编码方式

    热门讨论 2015-09-19 22:32:24
    jdk自带的ZipEntry类解压zip文件,中文文件会出现乱码,jar包是根据Apache的解压缩包进行改造的,也适合于Android使用
  • 批量转换文件编码格式为UTF-8工具

    千次下载 热门讨论 2012-08-02 16:44:56
    批量转换文件编码格式为UTF-8工具.zip 支持多层文件夹替换! 使用说明: 1.文件根目录:即您要转码的文件所在根目录 2.转码文件目录:即您转码后的文件所在目录 3.转码文件后缀:指[文件根目录]下,需要转码的文件后缀,...
  • Qt文件编码转换工具(二) C++判断文件编码

    千次阅读 多人点赞 2019-01-19 19:49:33
    目录 ...如何判断文件编码 下一节   下载链接 Realase打包版本下载: Qt文本转化工具 realase版本 https://download.csdn.net/download/qq78442761/10927836   Qt文件编码转换工具源码 ...

    目录

     

    下载链接

    上一节

    如何判断文件编码

    下一节


     

    下载链接

    Realase打包版本下载:

    Qt文本转化工具 realase版本

    https://download.csdn.net/download/qq78442761/10927836

     

    Qt文件编码转换工具源码

    https://download.csdn.net/download/qq78442761/10927834

     

    上一节

    Qt文件编码转换工具(一) 项目介绍

    https://blog.csdn.net/qq78442761/article/details/86555753

    程序运行截图如下:

     

    如何判断文件编码

    这一节来说明下文件编码,这里举一个UTF-8的例子!

    在Windows端,创建一个txt文件,空文件,这里Windows会自动把他判断为ASCII编码!

    此时的文件大小:

    如果把他给成UTF-8编码,此时还是空文件,但还是有3字节:

    现在以十六进制看看这文件:

    这里就可以知道如何判断了!

    此时会多出一个文件头!!!通过这个文件头即可判断,这里来总结下其他编码:

     

    ASCII非下面3个
    UnicodeFF FE
    Unicode big endian FF FF
    UTF-8  EF BB BF

    这里其实可以根据前面2个字节即可判断!

     

    下面来看看Qt源码:

    这里采用简单工厂,这里只给出了伪代码,要源码请在博文上面下载:

    filetype.h

    #ifndef FILETYPE_H
    #define FILETYPE_H
    
    #include <QString>
    #include <QDebug>
    
    class FileType{
    
    public:
    
        virtual QString getFileType(){ return ""; }
        virtual ~FileType(){ qDebug() << "FileType disconstraction called!"; }
    };
    
    class ASCIIFileType: public FileType{
    
    public:
        QString getFileType() override{
    
            return "ANSI";
        }
    };
    
    class UTF8FileType: public FileType{
    
    public:
        QString getFileType() override{
    
            return "UTF-8";
        }
    };
    
    class UniFileType: public FileType{
    
    public:
        QString getFileType() override{
    
            return "Unicode";
        }
    };
    
    class UniEndFileType: public FileType{
    
    public:
        QString getFileType() override{
    
            return "Unicode big endian";
        }
    };
    
    class FileTypeFactory{
    
    public:
    
        static FileType *createFileTypeFactory(QByteArray byteArray){
    
            FileType *fileType;
    
            if(byteArray == "\xEF\xBB"){    //UTF-8
    
                fileType = new UTF8FileType;
            }
            else if(byteArray == "\xFF\xFE"){       //Unicode
    
                fileType = new UniFileType;
            }
            else if(byteArray == "\xFE\xFF"){       //Unicode big endian
    
                fileType = new UniEndFileType;
            }
            else{
    
                fileType = new ASCIIFileType;
            }
    
    
            return fileType;
        }
    };
    
    
    #endif // FILETYPE_H

    下面给出一个调用的代码:

    void DisposeFile::transformFile(const QString &sourceFile)
    {
        QFile file(sourceFile);
        if(!file.open(QIODevice::ReadOnly)){
    
            qDebug() << "open failed!";
            return;
        }
    
        QByteArray byteArray = file.readAll();
        //qDebug() << "byteArray:" << QString::frombyteArray;
    
        FileType *fileType = FileTypeFactory::createFileTypeFactory(byteArray.left(2));
    
        GenDialog *genDialog = new GenDialog(NULL ,m_currentFileName, fileType->getFileType());
        if(genDialog->exec() == QDialog::Accepted){
    
            QString head = genDialog->getArmStr();
    
            saveFile(head, fileType->getFileType(),byteArray);
        }
        delete genDialog;
    
        delete fileType;
    
        file.close();
    }

     

    如何实现UTF8和ASCII之间的编码转换!

    通过Qt的QString中QString::fromLocal8Bit和QStirng::fromUtf8即可:

        if(head == "ASCII"){
    
            if(sourceCode == "UTF-8"){
    
                file.write(QString::fromUtf8(data).toStdString().c_str());
            }
            else{
    
                file.write(QString::fromLocal8Bit(data).toStdString().c_str());
            }
        }
        else{
    
            if(sourceCode == "UTF-8"){
    
                file.write("\xEF\xBB\xBF");
                file.write(QString::fromUtf8(data).toStdString().c_str());
            }
            else{
    
                file.write("\xEF\xBB\xBF");
                file.write(QString::fromLocal8Bit(data).toStdString().c_str());
            }
        }

     

    下一节

    下一节将给出Qt界面设计

    https://blog.csdn.net/qq78442761/article/details/86556068

    展开全文
  • Linux查看文件编码格式

    千次阅读 2020-05-14 11:02:56
    linux查看文件编码格式 file命令 首先查看file命令的help,file --help 阿斯顿 linux文件编码转换

    linux查看文件编码格式

    1.file命令

    首先查看file命令的help,file --help,里面有详情的参数说明。

    使用file 命令查看文件的编码格式

    [root@dep-184 /]# file 1.txt

    1.txt: ISO-8859 text

    2.vim 命令

    使用vim命令进入文件 1.txt,然后在使用 “:set fileencoding” 查看文件当前展示的编码格式(这里必须确保展示内容无乱码,才可以得到内容真实的编码格式),我这里的文件1.txt 内容实际是gbk,而文件保存时的编码格式是ISO-8859,如下:

    不加任何编码格式进入文件,则文件编码格式是latin1(Latin1是ISO-8859-1的别名,有些环境下写作Latin-1)

    [root@dep-184 /]# vim 1.txt

    文件内容

    使用:set fileencoding

    指定文件展示的编码格式进入文件,此时展示的内容是正常的,但是使用:set fileencoding 查看是cp936(cp936就是指系统里第936号编码格式,即GB2312的编码)

    [root@dep-184 /]# vim "+e ++enc=gbk" 1.txt

    文件内容

    使用:set fileencoding

    最后在试一下指定utf-8进入文件的情况,查看的内容是乱码的,使用:set fileencoding 查看是utf-8。

    [root@dep-184 /]# vim "+e ++enc=utf-8" 1.txt

    文件内容

    使用:set fileencoding

    小结:从以上三种情况来看,进入文件使用:set fileencoding 查看编码时,编码格式是根据终端显示的编码格式来确定的,使用哪种编码方式进入文件展示文件那天,则就是哪种编码格式,即你使用正确的编码格式进入文件,文件无乱码则使用这种方式查看编码格式就是正确的。

    3.enca命令

    使用enca可以直接查看文件内容的编码格式,如下

    [root@dep-184 /]# enca  1.txt 

    Simplified Chinese National Standard; GB2312

    enca安装参考:下载地址https://dl.cihar.com/enca/enca-1.19.tar.gz

    解压:tar -xvf enca-1.19.tar.gz

    进入目录

    ./configura

    安装:

    make

    make install

    enca 还有其他的参数可以设置,查看enca --help

     

    linux文件编码转换

    1.vim 命令

    在vim中使用 :set fileencoding=xxx 来转换文件的编码格式,这里vim文件时需要注意,必须指定编码进入文件或者直接进入文件时内容无乱码,如下:

    [root@dep-184 /]# vim "+e ++enc=gbk" 1.txt

    文件内容

    转换编码格式,回车无错误则转换成功,最后 :wq保存退出。

    查看转换后的编码格式

    [root@dep-184 /]# enca 1.txt

    Universal transformation format 8 bits; UTF-8

    如果不指定编码格式进入文件会出现什么情况呢,以下是我测试的结果:

    [root@dep-184 /]# vim 1.txt

    文件内容

    出现错误,转换失败

    2.iconv 命令

    这里必须知道文件内容的真实编码,转换的时候才不会出现乱码,如下

    转换命令,比如将一个UTF-8 编码的文件转换成GBK编码(此处应该知道文件内容的正确编码)

    iconv -f GBK -t UTF-8 1.txt -o 2.txt

     

    以上是我在测试的时候总结的,如果有错误的地方欢迎小伙伴指正,谢谢!

    展开全文
  • 批量修改文件编码格式

    热门讨论 2011-01-31 21:49:54
    非常好用的一款编码转换软件,批量修改,不论是单文件还是文件夹,直接拖入就可修改成自己希望的编码方式,适合程序员在不同编码格式的电脑直接传输文件时转换,绿色无毒,自用,放心
  • Linux中修改文件编码

    千次阅读 2020-03-18 16:13:41
    查看文件编码 在Linux中查看文件编码可以通过以下几种方式: 1.在Vim中可以直接查看文件编码 :set fileencoding 即可显示文件编码格式。 如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,...

    查看文件编码
    在Linux中查看文件编码可以通过以下几种方式:

    1.在Vim中可以直接查看文件编码

    :set fileencoding
    

    即可显示文件编码格式。
    如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在
    ~/.vimrc 文件中添加以下内容:

    set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936
    

    这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照 fileencodings提供的编码列表尝试,如果没有找到合适的编码,就用latin-1(ASCII)编码打开。

    2. enca (如果你的系统中没有安装这个命令,可以用sudo yum install -y enca 安装 )查看文件编码

    $ enca filename
    filename: Universal transformation format 8 bits; UTF-8
    CRLF line terminators
    

    需要说明一点的是,enca对某些GBK编码的文件识别的不是很好,识别时会出现:

    Unrecognized encoding
    

    文件编码转换

    1. 在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式
    :set fileencoding=utf-8
    
    1. enconv 转换文件编码,比如要将一个GBK编码的文件转换成UTF-8编码,操作如下
    enconv -L zh_CN -x UTF-8 filename
    
    1. iconv 转换,iconv的命令格式如下:
    iconv -f encoding -t encoding inputfile
    

    比如将一个UTF-8 编码的文件转换成GBK编码

    iconv -f UTF-8 -t GBK file1 -o file2
    

    查看文件编码file命令

    file ip.txt  ip.txt: UTF-8 Unicode text, with escape sequences
    

    一、利用iconv命令进行编码转换文件内容编码转换
    iconv命令用于转换指定文件的编码,默认输出到标准输出设备,亦可指定输出文件。
    用法: iconv [选项...] [文件...]
    有如下选项可用:
    输入/输出格式规范:

    -f, --from-code=名称 原始文本编码  
    -t, --to-code=名称 输出编码  
    

    信息:

    -l, --list 列举所有已知的字符集   
    

    输出控制:

     -c 从输出中忽略无效的字符  
     -o, --output=FILE 输出文件  
     -s, --silent 关闭警告  
     --verbose 打印进度信息  
     -?, --help 给出该系统求助列表  
     --usage 给出简要的用法信息 
      -V, --version 打印程序版本号    
    

    例子:

    iconv -f utf-8 -t gb2312 aaa.txt >bbb.txt  
    

    这个命令读取aaa.txt文件,从utf-8编码转换为gb2312编码,其输出定向到bbb.txt文件。
    二、文件名编码转换
    因为现在用linux,原来在windows里的文件都是用GBK编码的。所以copy到linux下是乱码,文件内容可以用iconv来转换可是好多中文的文件名还是乱码,找到个可以转换文件名编码的命令,就是convmv
    convmv命令详细参数 例如

    convmv -f GBK -t UTF-8 *.mp3
    

    不过这个命令不会直正的转换,你可以看到转换前后的对比。如果要直正的转换要加上参数 --notest

    convmv -f GBK -t UTF-8 --notest *.mp3
    

    -f 参数是指出转换前的编码,-t 是转换后的编码。这个千万不要弄错了。不然可能还是乱码哦。还有一个参数很有用。就是 -r 这个表示递归转换当前目录下的所有子目录。

    • 需要安装 convmv-1.10-1.el5.noarch.rpm

    三、 更好的傻瓜型命令行工具enca,它不但能智能的识别文件的编码,而且还支持成批转换。   
    1.安装

    $sudo apt-get install enca   
    

    2.查看当前文件编码

    enca -L zh_CN ip.txt    
     Simplified Chinese National Standard; GB2312     
     Surrounded by/intermixed with non-text data pasting
    

    3.转换   
    命令格式如下

    $enca -L 当前语言 -x 目标编码 文件名   
    

    例如要把当前目录下的所有文件都转成utf-8

    enca -L zh_CN -x utf-8 *   
    

    检查文件的编码

    enca -L zh_CN file    
    

    将文件编码转换为"UTF-8"编码

    enca -L zh_CN -x UTF-8 file
    

    如果不想覆盖原文件可以这样

    enca -L zh_CN -x UTF-8 < file1 > file2 
    
    展开全文
  • Eclipse设置文件编码

    千次阅读 2019-02-22 11:18:11
    在此我们了解一下在Eclipse中如何统一修改文件编码格式。 windows -&gt;preferences-&gt;Gerneral-&gt;Content Types  修改完成点击Update 或者Apply and Close 应用修改 ...

        在使用Eclipse开发过程中,创建项目或者导入项目后,会出现文件内部中文乱码的问题。这是由于编码格式不一致导致的。在此我们了解一下在Eclipse中如何统一修改文件的编码格式。

    windows ->preferences->Gerneral->Content Types 

    修改完成点击Update 或者Apply and Close  应用修改

    展开全文
  • 文本文件编码转换工具 gbk utf8 gb2312

    千次下载 热门讨论 2010-01-26 18:27:23
    charset=utf-8"></HEAD> "说明此文件编码为utf8" 4)在 mysql_select_db("表名",$id); 后面加入一行 mysql_query("set names utf8;"); <!-----说明数据库连接也用utf8编码-----> 5)*.php 文件在存盘的时候也以 ...
  • mac:文件编码问题

    千次阅读 2019-04-24 16:01:42
    而Mac下的excel并不支持utf-8,一般支持GBK编码文件,用GBK解码utf-8编码文件,所以会出错。解决方案1:新建excel空白文档,文件>导入>csv文件文件格式选择 文件正确的编码,如:unicode(utf-...
  • IDEA 文件编码修改

    万次阅读 2019-06-20 17:59:41
    如果上述问题都无法解决,而且你也确认 IntelliJ IDEA 各个配置编码的地方都是 UTF-8,报错文件编码也是是 UTF-8 无 BOM 的话,那还有一种可能也会出现这种情况:项目配置文件有问题。项目编码的配置文件在: /...
  • 查看文件编码格式

    千次阅读 2018-11-05 17:04:15
    How can I see which ... (查看文件编码格式) vi模式下 查看 :set fileencoding 设置 :set fileencoding xxx file命令: check a file encoding file -bi [filename] Option Description -...
  • CSDN GitHub Ubuntu下apache的安装与配置 AderXCoding/system/tools ...1. 问题描述–(linux下经常遇到的编码问题)师兄在 windows 下写的一段程序(C/C++ 编写), 传给我在 Linux 下面运行, 编译和运行的时候输出
  • IDEA文件编码修改

    千次阅读 2019-01-24 14:50:08
    上图标注 1 所示,IDE ...上图标注 2 所示,IntelliJ IDEA 可以对 Properties 文件进行专门的编码设置,一般也建议改为 UTF-8,其中有一个重点就是属性 Transparent native-to-ascii conversion,上图标注 3 所示,...
  • IDEA 文件编码转换

    千次阅读 2019-09-27 11:06:53
    IDEA 文件编码转换 1 单个文件转换 如图:窗口右下角有切换方式 场景:引入项目,原项目是 GBK编码格式,现在工作空间是UTF-8编码格式,会导致文件中文乱码。 解决: 1.先将文件编码 转成GBK,选择Reload,此时只是...
  • 经常用pandas读取csv格式文件,pandas默认使用utf-8编码格式,但有的文件并非这种编码,虽然可以通过记事本打开文件,然后另存为,通过保存格式为utf-8格式,但是这种方式实在是太麻烦太傻,如图1 手动查看编码格式...
  • java判断文本文件编码格式

    万次阅读 2019-08-06 09:32:00
    上篇文章需要读取当前java或者配置文件的编码格式,这里主要支持UTF-8、GBK、UTF-16、Unicode等 ... * @return 文件编码格式 * @throws Exception */ public static String codeString(File fileName) thro...
  • 描述:由于Powershell和MDK工程文件集默认全部采用gb2312编码,使用VS Code打开的时候每个文件都需要选择文件编码格式,可以改变VS Code的默认编码格式,这样就方便多了。 VS Code版本:1.37.1 配置: 1.文件...
  • mac 查看文件编码

    千次阅读 2019-10-10 09:56:20
    第一步打开终端 第二步:以文件File.json 为案例 先找到文件路径如图 在输入 vim File.json 按 esc :set 命令 , 并 回车
  • java获取文件编码格式

    万次阅读 2019-01-09 15:57:20
    java开发时在以流的方式读取文件内容时,往往会中文乱码,那么就要考虑到统一编码格式 InputStreamReader read = new ...获得文件编码 /** * 获得文件编码 * @param fileName * @return * @throws...
  • vim查看文件编码/转换文件编码

    千次阅读 2018-11-18 17:40:28
    回车后显示文件编码 二、转换文件编码吗 iconv -f gbk -t utf8 file-name1 -o file-name2 -f:文件源编码 -t:目标目标编码 file-name1:待转换文件名 -o:指定转换后的内容保存到的文件 file-name2:转换后保存的...
  • VS之设置文件编码格式

    万次阅读 2019-06-29 09:49:08
    转载: https://www.cnblogs.com/JasmineLily/p/6945929.html
  • qt修改文件编码格式

    千次阅读 2020-10-12 20:52:50
    点击右侧的项目选项,然后右边的编辑器进行修改文件编码 (2)修改qt编码的方法2: 先点击窗口上面的工具,然后选择选项,进去后找到文本编辑器进入行为的设置页面进行修改编码格式 ...
  • python读取csv文件编码问题

    千次阅读 2020-12-08 15:26:05
    无效方法:使用python读取含有中文的csv文件的时候常常遇到编码错误,因此就想把csv文件编码改为utf-8编码方式,用excel打开另存为utf-8格式没法解决问题,可以采用以下方法: 有效方法:首先,将.csv文件保存一下...
  • linux设置查看与设置文件编码格式

    千次阅读 2019-08-16 10:26:16
    一、查看文件编码格式 使用vi指令进入查看文件,然后按Esc后输入 :set fileencoding 然后回车查看文件编码格式 之后可直接输入:再次操作 二、修改文件格式,同样的方式,将修改中输入改为 :set file...
  • 常常在Linux中操作windows下的文件时,会遇到乱码的情形。常见的比如在Visual Studio 中写的C\C++程序需要放到Linux主机上编译,而程序的中文注释...那么如何在Linux中如何查看文件编码及如何进行对文件进行编码转...
  • 文件上传获取文件编码格式

    千次阅读 2019-02-01 17:55:23
    文件上传获取文件编码格式: private static String getFilecharset(InputStream inputStream) { //默认GBK String charset = "GBK"; byte[] first3Bytes = new byte[3]; try(BufferedInputStream...
  • 文本文件编码

    千次阅读 2018-12-29 13:45:38
    而之所以会造成乱码现象,是因为当初创建文件的时候采用的编码方式,和打开时的编码方式不一样,这样的对应关系就乱了,于是我们看到的就是乱七八糟的。 ---------------------  原文:...
  • Python实现文件编码转换GB2312、GBK、UTF-8 1、查看文件编码格式 import chardet filename = './flash.c' with open(filename, 'rb') as f: data = f.read() encoding_type = chardet.detect(data) print...
  • python 设置文件编码格式

    万次阅读 2017-06-23 16:31:28
    如果要在python2的py文件里面写中文,则必须要添加一行声明文件编码的注释,否则python2会默认使用ASCII编码。(python3已经没有这个问题了,python3默认的文件编码是UTF-8) 必须将编码注释放在第一行或者第二行,...
  • linux下查看文件编码及修改编码

    千次阅读 2019-01-23 12:20:22
    一、在Vim中可以直接查看文件编码 :set fileencoding 即可显示文件编码格式。 如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在~/.vimrc文件中添加一下内容: set ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,394,911
精华内容 557,964
关键字:

文件编码