python—AES加密

一.字符编码

1.Unicode(统一码、万国码、单一码)
是一套由国际组织制定的可以容纳世界上所有文字和符号的字符编码方案,可以理解为是一套规范,而不是具体的实现方案。UTF-8/UTF-16/UTF-32 是具体的将文本信息进行存储或传输的编码实现方案。其中 UTF-16 和 Unicode 编码大致一样, UTF-8 为了节省存储空间,以 8 位为单元对 Unicode 进行编码。
 
2.UTF-8
UTF-8以字节为单位(8位)对Unicode进行编码。对字符进行UTF-8编码可将其转换为字节流数据,进而在计算机中存储和传输。

区别: Unicode只是逻辑意义上的编码,每个字符都有自己的 Unicode 码,与字节流无关。而 utf-8 才是 Unicode 在物理层的一种编码方案,对应特定的字节流。

3.Base64
Base64是一种基于64个可打印字符来表示二进制数据的表示方法。6位为一个单元来表示一个可打印字符。在Base64中的可打印字符包括字母A-Z、a-z、数字0-9,这样共有62个字符,此外两个可打印符号在不同的系统中而不同。Base64常用于在通常处理文本数据的场合,表示、传输、存储一些二进制数据。
 
 

二.python编码

1.在python3版本中,所有的字符串都是使用Unicode编码的字符串序列,并且对字符串和二进制数据流做了明确的区分。文本总是 Unicode,由 str 类型表示,二进制数据则由 bytes 类型表示。
python中字符串类str里有一个方法encode(),它是从字符串向比特流的编码过程。而bytes类型对应有个方法decode(),它是从比特流向字符串解码的过程。

s = '汉字'
en_s = s.encode('utf-8') 
de_s = en_s.decode('utf-8')
print(s)
print(type(s))  #内置函数type()可以查看变量数据类型
print(en_s)
print(type(en_s))
print(de_s)


###运行结果为:
汉字
<class 'str'>
b'\xe6\xb1\x89\xe5\xad\x97'
<class 'bytes'
  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值