java char byte 区别,char byte base64 区别 | 学步园

本文介绍了C语言和Java中字符类型char与byte的区别,包括它们的取值范围和用途。在C语言中,char分为有符号和无符号,Java的char是无符号的Unicode字符。同时,文章详细解释了Base64编码的工作原理,通过一个实例展示了如何将文本编码为Base64,并解释了编码过程中对字节数的处理方式。
摘要由CSDN通过智能技术生成

一、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码);大小范围 是0—65535 ;char是一个16位二进制的Unicode字符,JAVA用char来表示一个字符 。当然也可以表示汉字啦。

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”

文本

M

a

n

ASCII编码

77

97

110

二进制位

0

1

0

0

1

1

0

1

0

1

1

0

0

0

0

1

0

1

1

0

1

1

1

0

索引

19

22

5

46

Base64编码

T

W

F

u

在此例中,Base64

Base64索引表:

Value

Char

Value

Char

Value

Char

Value

Char

0

A

16

Q

32

g

48

w

1

B

17

R

33

h

49

x

2

C

18

S

34

i

50

y

3

D

19

T

35

j

51

z

4

E

20

U

36

k

52

0

5

F

21

V

37

l

53

1

6

G

22

W

38

m

54

2

7

H

23

X

39

n

55

3

8

I

24

Y

40

o

56

4

9

J

25

Z

41

p

57

5

10

K

26

a

42

q

58

6

11

L

27

b

43

r

59

7

12

M

28

c

44

s

60

8

13

N

29

d

45

t

61

9

14

O

30

e

46

u

62

+

15

P

31

f

47

v

63

/

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值