c语言数字字符编码

1、计算机数字的编码方式:

补码编码:计算公式

(最高位负权值,最高位是1,那就是一个负数的权值减去其他位的和)

(最高位是0,其他位的和就是这个数,正数)

32bit   有效值31 有符号数signed;unsigned32;

+ -有无符号无影响;有影响></<<>>

数字   字符  ascll标准 字符编码,英语系国家,非英语系国家(国标,全世界统一unicode)

国标码:用高128个状态(数字)描述,GBk,

使用国标码不影响ascll,十六进制大于8就是高128状态;定长编码;

用2b 做了一张表,table unicode 65536;一个字符两个字节;两个十六进制位表示一个字节;

0x0031;

0110 1101;

1100 1001 10;用最高位状态来描述是否有2个或以上的字节;

utf-8(unicode改进版): 2b  动态变长编码;

(解决中文乱码bug,windows是国标码,Linux用的是utf-8)

c语言提供一个标点符号'?',单引号只能表示一个字节,0-255,char。

'ascll码中的符号',‘1’,‘a',ascll(1b 0-255  低127个状态[0-6bit]给了8bit只用了7bit)

0x00--0x1f  32个控制字符;%c看不见;

0x20 --0x7f   可见字符,用%c看得见,//char a = 32/' '/0x20;

char a = ’8‘;

int b = a -'0' +10;字符减去‘0’,可以得数字,因为在ascll表中数字字符是连续排列的;

大写字母在小写字母前面,大写字符小于小写字符,排序中,从小到大,大写字符在前,优先级高;

乱码:不是在可见范围内;0x20--0xf;可能是越界访问;

表示不可见字符用转义字符;语法:\字符(能表示得行为不多 \n回车 \r换行 \t制表符【对齐】);\数字(\101八进制数字,数字只能0-7);

utf-8 编码: 

 例:F8 9F 98 82 utf-8四字节;

F---11110------------》11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值