标签归档:字符编码

base64编码方式?

Base64编码规则
Base64编码 把字符先按照utf-8的形式编码,然后每三个字节转换位四个字节。
3字节8位 转换为 4字节 每个六位,之后4个字节的前面都加两个零形成八位字节,如果按照3个字节拆分最后多余一个字节,则需要在后面补两个0,输出‘=’, 如果多余两个字节则输出 == ,所以base64编码最多会出现两个”==”
例如:
base64(‘AB’) ==> “QUI=”
base64(‘A’) ==> “QQ==”

Base64编码规则的由来?
为了在不同的邮件网关之间安全的传送文件,所以多媒体邮件标准就开发出了base64编码作为邮件传送的编码规则。
Base64编码规则的工作原理?
首先一个文本被转换为ASCII 转换再转换为二进制 ,然后再按照每三个字节转换为4个字节的方式转换,然后采用base64对照表 转换出base64位编码,最后不足三字节的补零。

例1 字符A 首先转换为二进制位 0100 0001 ,0000 0000 ,0000 0000 转换为 010000 , 010000 ,000000, 000000 转换为对应的十进制 16,16,0,0
查阅base64编码对应表得出”QQ==”



例2 字符AB 首先转换为二进制位 0100 0001 ,0100 0010 ,0000 0000 转换为 010000 , 010100 ,001000, 000000 转换为对应的十进制 16,20,8,0
查阅base64编码对应表得出”QUI=”

base64如何传输中文,图片?
图片先被转换为字节的形式,然后再转换为base64编码
base64编码规则的应用?
多媒体邮件文件的编码

十进制值

输出字符

十进制值

输出字符

十进制值

输出字符

十进制值

输出字符
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

/

何为编码类型?

在web开发中常常会出现一种情况,就是开发的时候一切正常,当部署到服务器上时,客户端就会显示异常,出现乱码,此时就是由于文件编码异常
常见的文件编码类型有:
1 ASCII
ASCII编码是计算机发明的时候所出现的编码,它是采用八位二进制[一个字节]来表示256种不同的结果,{00000000-11111111}来代表不同的字符。在电脑发明初期,美国人制定了一套字符编码规则,让大小写英文字符,计算机特殊控制位,和这256个字符做了一一对应,这就是ascii编码规则,在ascii中共有128个字符编码,例:空格代表32[00100000]、大写字母B[01000010]
2 GB2312
前面的ascii编码只可以表示英文字符,当需要在计算机中表示汉字的时候,此时ascii编码已经不能满足我们的要求了,此时需要根据一个字节后面的空位 129-256来表示汉字,对成千上万的汉字已经不能满足要求,此时就产生了一种新的编码方式,采用两个字节来表示汉字,及用16位来表示汉字,及理论上 256*256-1-127=6万多汉字,这就形成了GB2312编码规则。
5 GBK
GBK也是双字节方式存储的一种编码方式,能够向下兼容gb2312编码方式,目的是让计算机支持更多的字符显示。
6 Big5
BIG5是一种双字节存储的繁体字编码库.
7 Unicode
为世界上600多种语言进行了统一的编码,可能采用多字节来表示一个字符。
8 UTF-8
是Unicode的一种,在UTF-8中,根据不同的字符,可能采用一个或者多个字节来表示字符。 utf-8可以表示多种字符,可节省空间
9 Base64
base64常用于邮件编码中