您的位置:澳门新葡8455最新网站 > 澳门新葡8455最新网站 > 起初五个字符乱码难题,windows自带记事本导致文

起初五个字符乱码难题,windows自带记事本导致文

发布时间:2019-11-04 10:57编辑:澳门新葡8455最新网站浏览(189)

    转自:

    windows自带记事本引致文本文件(UTF-8编码卡塔尔最初多个字符乱码难题,文本文件utf-8

    转自:

    在windows平台下,使用系统的记事本以UTF-8编码格式存款和储蓄了贰个文书文件,然而由于Microsoft开辟记事本的团组织接纳了叁个百般稀奇的行为来保存UTF-8编码的文件,它们布鼓雷门地在各类文件初叶增加了0xefbbbf(十二进制卡塔尔国的字符,所以我们就能够碰着比相当多不得要领的主题材料,比方,网页第黄金年代行大概会展现二个“?”,明明正确的主次一编写翻译就报出语法错误,等等。

    上边为风流倜傥段测量检验程序,由记事本编辑的公文文件以致文件起头前四个字符乱码。

    图片 1

    #include <stdio.h>
    #define MAX_LEN 100
    
    int main()
    {
        char strLine[MAX_LEN];
        int i = 0;
        memset(strLine,0x0,MAX_LEN);
    
        FILE * fp;
        fp = fopen("eng_query.txt","r");
        if(NULL == fp)
        {
            printf("open file fail.n");
            return -1;
        }
    
        while(fgets(strLine,MAX_LEN,fp))
        {
            printf("str = %s",strLine);//将每行字符串打印出来
            for(i=0; i<strlen(strLine); i++)//将每各字符串中的字符以十六进制格式打印出来
            {
                printf("%x  ",strLine[i]);
            }
            printf("nn");
        }
        fclose(fp);
        return 0;
    }
    

    图片 2

     

    输入文件:

    图片 3

    tsinghua press
    mp18
    evaluating method for the double image
    jiaoyuxvshi
    balancing mechanism
    hthr
    amplification
    bionic optimization algorithm
    a r l
    tcb
    

    图片 4

     

    出口文件:

    图片 5

    str = 锘縯singhua press
    ffffffef  ffffffbb  ffffffbf  74  73  69  6e  67  68  75  61  20  70  72  65  73
      73  a
    
    str = mp18
    6d  70  31  38  a
    
    str = evaluating method for the double image
    65  76  61  6c  75  61  74  69  6e  67  20  6d  65  74  68  6f  64  20  66  6f
    72  20  74  68  65  20  64  6f  75  62  6c  65  20  69  6d  61  67  65  a
    
    str = jiaoyuxvshi
    6a  69  61  6f  79  75  78  76  73  68  69  a
    
    str = balancing mechanism
    62  61  6c  61  6e  63  69  6e  67  20  6d  65  63  68  61  6e  69  73  6d  a
    
    str = hthr
    68  74  68  72  a
    
    str = amplification
    61  6d  70  6c  69  66  69  63  61  74  69  6f  6e  a
    
    str = bionic optimization algorithm
    62  69  6f  6e  69  63  20  6f  70  74  69  6d  69  7a  61  74  69  6f  6e  20
    61  6c  67  6f  72  69  74  68  6d  a
    
    str = a r l
    61  20  72  20  6c  a
    
    str = tcb
    74  63  62  a
    

    图片 6

     

    咱们能够开掘文件最早几个字符乱码,每种汉字占用七个字符,因而首个字符本来为‘t’,也只可以乱码彰显出来。

    就此,可以利用Notepad++代替记事本。要求将Notepad++的私下认可编码设置为UTF-8 without BOM就可以;

    图片 7

    转自: 在windows平台下...

    在windows平台下,使用系统的记事本以UTF-8编码格式存款和储蓄了三个文书文件,不过由于Microsoft开荒记事本的团体选取了多个可怜好奇的一举一动来保存UTF-8编码的文件,它们布鼓雷门地在各样文件最初增多了0xefbbbf(十九进制卡塔 尔(阿拉伯语:قطر‎的字符,所以我们就可以遇见比比较多难以置信的主题素材,举例,网页第生机勃勃行恐怕会突显三个“?”,明明精确的先后一编写翻译就报出语法错误,等等。

    上边为后生可畏段测量试验程序,由记事本编辑的公文文件招致文件起首前八个字符乱码。

    图片 8

    #include <stdio.h>
    #define MAX_LEN 100
    
    int main()
    {
        char strLine[MAX_LEN];
        int i = 0;
        memset(strLine,0x0,MAX_LEN);
    
        FILE * fp;
        fp = fopen("eng_query.txt","r");
        if(NULL == fp)
        {
            printf("open file fail.n");
            return -1;
        }
    
        while(fgets(strLine,MAX_LEN,fp))
        {
            printf("str = %s",strLine);//将每行字符串打印出来
            for(i=0; i<strlen(strLine); i++)//将每各字符串中的字符以十六进制格式打印出来
            {
                printf("%x  ",strLine[i]);
            }
            printf("nn");
        }
        fclose(fp);
        return 0;
    }
    

    图片 9

     

    输入文件:

    图片 10

    tsinghua press
    mp18
    evaluating method for the double image
    jiaoyuxvshi
    balancing mechanism
    hthr
    amplification
    bionic optimization algorithm
    a r l
    tcb
    

    图片 11

     

    出口文件:

    图片 12

    str = 锘縯singhua press
    ffffffef  ffffffbb  ffffffbf  74  73  69  6e  67  68  75  61  20  70  72  65  73
      73  a
    
    str = mp18
    6d  70  31  38  a
    
    str = evaluating method for the double image
    65  76  61  6c  75  61  74  69  6e  67  20  6d  65  74  68  6f  64  20  66  6f
    72  20  74  68  65  20  64  6f  75  62  6c  65  20  69  6d  61  67  65  a
    
    str = jiaoyuxvshi
    6a  69  61  6f  79  75  78  76  73  68  69  a
    
    str = balancing mechanism
    62  61  6c  61  6e  63  69  6e  67  20  6d  65  63  68  61  6e  69  73  6d  a
    
    str = hthr
    68  74  68  72  a
    
    str = amplification
    61  6d  70  6c  69  66  69  63  61  74  69  6f  6e  a
    
    str = bionic optimization algorithm
    62  69  6f  6e  69  63  20  6f  70  74  69  6d  69  7a  61  74  69  6f  6e  20
    61  6c  67  6f  72  69  74  68  6d  a
    
    str = a r l
    61  20  72  20  6c  a
    
    str = tcb
    74  63  62  a
    

    图片 13

     

    作者们能够窥见文件初步几个字符乱码,每种汉字占用多少个字符,因而第一个字符本来为‘t’,也只能乱码呈现出来。

    因此,能够运用Notepad++替代记事本。要求将Notepad++的暗许编码设置为UTF-8 without BOM就可以;

    图片 14

    本文由澳门新葡8455最新网站发布于澳门新葡8455最新网站,转载请注明出处:起初五个字符乱码难题,windows自带记事本导致文

    关键词:

上一篇:没有了

下一篇:没有了