char byte base64 区别

一、C语言中char byte区别

char 占一个字节,分为signed char 有符合的字符型和unsigned char无符号的字符型,取值范围-128~127 和0-255,没有说明的时候指有符号的,左边第一位为0则为正,1则为负。

ascii码占用一个字节,取值范围0~255,不同的值对应不同的字符,因此无符号的字符型对应ascii码。

c语言没有内定的byte类型,但一般定义为unsigned char,如:typedef unsigned char byte

计算机内都是存储的二进制数据,根据定义的类型,把具体的值转换为响应的变量,如二进制的值为01000001-》65-》字符A。

二、java语言char byte区别

char 是字符数据类型 ,是无符号型的,占2字节(Unicode码 );大小范围 是065535 ;char是一个16位二进制的Unicode字符,JAVAchar来表示一个字符 。当然也可以表示汉字啦。

byte 是字节数据类型 ,是有符号型的,占1 个字节;大小范围为-128—127 。

java中的转换:

String str = "Hello world!";
// string转byte
byte[] bs = str.getBytes();
// byte转string
String str2 = new String(bs)

三、base64

Base64是一种基于64个可打印字符来表示二进制数据的表示方法。

Base64常用于在通常处理文本数据的场合,表示、传输、存储一些二进制数据。

  • 编码“Man”

文本Man
ASCII编码7797110
二进制位010011010110000101101110
索引1922546
Base64编码TWFu

在此例中,Base64算法将三个字符编码为4个字符

Base64索引表:

ValueChar ValueChar ValueChar ValueChar
0A16Q32g48w
1B17R33h49x
2C18S34i50y
3D19T35j51z
4E20U36k520
5F21V37l531
6G22W38m542
7H23X39n553
8I24Y40o564
9J25Z41p575
10K26a42q586
11L27b43r597
12M28c44s608
13N29d45t619
14O30e46u62+
15P31f47v63/

如果要编码的字节数不能被3整除,最后会多出1个或2个字节,那么可以使用下面的方法进行处理:先使用0字节值在末尾补足,使其能够被3整除,然后再进行base64的编码。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值