| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1146 人关注过本帖
标题:求助:要怎么去理解? 应该是和编码有关,基础太差求普及。
只看楼主 加入收藏
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:1 
回复 10楼 hjx1120
我也是醉了,小说看多了吧

剑栈风樯各苦辛,别时冰雪到时春
2015-07-01 18:29
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:1 
这些本来就是基础,其实我以前也说过多次,既然大多数人都视而不见、或不认为是基础需要了解,就不必多费功夫,反正那不是我的事。

授人以渔,不授人以鱼。
2015-07-01 19:32
T_MACC
Rank: 4
等 级:业余侠客
威 望:8
帖 子:99
专家分:211
注 册:2015-4-14
收藏
得分:1 
不对   你理解   不对吧   楼主




#include <stdio.h>
int main(void)
{
    char * str1 = "华";

    printf("%c %c\n", str1[0], str1[1]);
    printf("%c%c\n", str1[0], str1[1]);
    printf("%d %d\n", str1[0], str1[1]);
    /*putchar(str1[0]);
    putchar(str1[1]);
    putchar('\n');
    putchar('\n');*/
    printf("  哎呀  我靠");

    char str2[5] = { -69, -86, -69, -86, 70 };
    //-69对应“华”高字节编码,-86对应华低字节编码,连续输出刚输出一个“华”字符
    printf("%c%c\n", str2[0], str2[1]);
    printf("  哎呀  我靠");
    printf("%c%c\n", str2[0], str2[3]);
    printf("  哎呀  我靠");
    //-69对应“籉”高字节编码,-86对应华低字节编码,连续输出刚输出一个“籉”字符
    printf("%c%c\n", str2[0], str2[4]);
    printf("  哎呀  我靠");
    printf("%c%c%c%c\n", str2[0], str2[1], str2[2], str2[3]);
    printf("  哎呀  我靠");
    //也许没有字符集使用3个字节的方式,所以对3个连续的字符输出不会显示某种字符集下的一个字符。
    //或者有但是C语言不支持???
    //printf("%c%c%c\n", str2[0], str2[1], str2[2]);
    //printf("%c%c%c\n", str2[2], str2[3], str2[4]);


    return 0;
}



您可以试着编译一下
2015-07-01 21:19
T_MACC
Rank: 4
等 级:业余侠客
威 望:8
帖 子:99
专家分:211
注 册:2015-4-14
收藏
得分:1 
回复 9楼 TAAAAB
可以尝试这写东西学习语言 ,用成果去垂怜这些语言
2015-07-01 21:26
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:1 
四字节编码的也有,那叫Unicode-32,而通常Windows使用的是Unicode-16。Unicdoe有多种编码方案,並非仅是一种。GBK那种叫ANSI,不是Unicode。中文版的Windows默認是ANSI的,但也可以切换为Unicode——同样是中文,但却是不同的编码。

授人以渔,不授人以鱼。
2015-07-01 21:27
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:1 
编码就是协议。其实刚学C的,一入门就接触过编码的思想(不是所谓的ASCII),只是自己不知道本质而已。

授人以渔,不授人以鱼。
2015-07-01 21:31
hjx1120
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:李掌柜
等 级:贵宾
威 望:41
帖 子:1314
专家分:6927
注 册:2008-1-3
收藏
得分:1 
T版主说的极是
话说MS为了统治全球桌面在unicode编码的基础上搞了个代码页出来
这样就可以包容地球上几乎所有国家的文字容量

查看自己的MS系统用的是那个代码页,可是cmd下输入mode命令
要让自己的系统可以正常显示它国文字,把代码页改成它国的代码页(编码)就可以了


两个T版主,好吧!当我自言自语
2015-07-01 22:50
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:1 
Unicode除了前面说的16位和32位方案之外,还有一种所谓的国际化方案,即utf-8,那是不定长的。

授人以渔,不授人以鱼。
2015-07-02 10:16
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:1 
以下是引用TonyDeng在2015-7-2 10:16:52的发言:

Unicode除了前面说的16位和32位方案之外,还有一种所谓的国际化方案,即utf-8,那是不定长的。

UTF-16也是不定长的 只不过常用的大部分都是2字节
2015-07-02 10:18
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:1 
以下是引用zklhp在2015-7-2 10:18:18的发言:


UTF-16也是不定长的 只不过常用的大部分都是2字节

那是你自己说的,我没必要反驳你,爱信的人愿意相信我也不反对。

授人以渔,不授人以鱼。
2015-07-02 10:20
快速回复:求助:要怎么去理解? 应该是和编码有关,基础太差求普及。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031772 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved