Python 基础关于编码

一、编码的种类:

1 acsic码   基本不用    不同编码之间互用会产生乱码,

2unicode       A 字母  4个字节   00000000 00000000 00100100 01000000

        中 文    4个字节    00000000 00000000 00100100 00000000 

 

3utf-8 中文         A 字母  1个字节      00000001   

        欧  洲  2个字节     00000000 00000000 00100100 00000000

       亚洲  中文 3个字节    00000000 00000000 00000000 00100100 00000000

       

4 gbk             A  字母 2个字节        00000000 00001000

      中文  亚洲  2个字节    00100100 00000000

 

二: 字节(bytes)和 字符串 (str)的区别:

 

bytes :表现形式:    s =  ‘Q’   b1 = s.encode ('utf-8')   print (b1)   b1 = b'Q'  

   内部存储是(utf-8 ,gbk ,gb232等)

     s1 = '晓梅'

    b11 = s1.encode('utf-8')

表现形式: s = b'\xe6\x99\x93\xe6\xa2\x85' (utf-8,gbk,gb2312.....)010101

             0000 1000 0000 0000 0000 0001 0000 1001 0000 0000 0000 0001
注意:在utf-8 的情况下b 后边有6个 (e6 99 等) 说名 晓梅 是中文 utf-8 是两个字6个字节
    

s2 = '晓梅'
     b22 = s1.encode('gbk')
print(b22)
b'\xcf\xfe\xc3\xb7'
表现形式: s = b'\xcf\xfe\xc3\xb7' (utf-8,gbk,gb2312.....)010101
0000 1000 0000 0000 0000 0001 0000 1001
    注意:在gbk 的情况下b 后边有4个 (cf xf 等) 说名 晓梅 是中文 ggbk 是两个字4个字节
str  的表现形式  s = "wangyan'  内部存储是(Unicode)

id(内存地址) ==是比较的值 is是内存抵制的比较
   列表 字典 元祖 set 内存地址都是不一样的
      于int 小数据池
int : 范围:-5---256 创建的相同的数字,都指向同一个内存地址。空格除外
str : 字符串一般都指向想同的内存地址,空格除外。

s = 'alex'
print (s,type(s))
print(s,type(s),id(s)) alex <class 'str'> 51749664

如果s1 = s2 = 'wangyan'
print(s1 = s2)
print(s1 is s2)

 
 
       于int 小数据池
int : 范围:-5---256 创建的相同的数字,都指向同一个内存地址。




 

 

转载于:https://www.cnblogs.com/xiaoluoboer/p/7738860.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值