zoukankan      html  css  js  c++  java
  • day06 再谈编码

    ---恢复内容开始---

    今日主要内容
    1. 小数据池, 常量池,
      id() 查看变量的内存地址

      is和== 区别:  (返回bool)
      is 判断内存地址是否一致  
      == 判断内容是否一致  

      小数据池: 一种数据缓存机制,也称为驻留机制.

      补充:缓存

      数据保存在硬盘里,但是硬盘的读写读写速度较慢,无法满足高并发(互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求.  高并发相关常用的一些指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second),并发用户数等。)的需要.  故而需要读写速度更高的缓存来处理.

      小数据池只针对:  int   str   bool

      小数据池的作用:为了快速的创建字符串对象, 可以减少内存的浪费

      用缓存的前提:数据可以被共享。不可变.
    2. 再谈编码
      ascii: 数字,字母, 特殊字符。
      字节: 8bit
      gbk: 国标码。16bit, 2byte

      unicode: 万国码。32bit, 4byte

      utf-8:可变长度的unicode
      英文: 1byte 8bit
      欧洲文字: 2byte,16bit
      中文: 3byte, 24bit

      python中的内存里使用的是unicode
      s = "你好啊"

      python2中用的是ascii  (输入中文要求:文件开头添加   # -*- encoding:utf-8 -*- )  python3用的是unicode  

        python3的内存中. 在程序运⾏阶段. 使⽤的是unicode编码. 因为unicode是万国码. 什么内

      容都可以进⾏显⽰. 那么在数据传输和存储的时候由于unicode比较浪费空间和资源. 需要把

      unicode转存成UTF-8或者GBK进⾏存储. 怎么转换呢. python中可以把⽂字信息进⾏编码.

      编码之后的内容就可以进⾏传输了. 编码之后的数据是bytes类型的数据.其实啊. 还是原来的

      数据只是经过编码之后表现形式发⽣了改变⽽已.

      字符串如果传输:encode(编码) 结果是bytes类型
      接受到bytes之后。 需要解码 :decode(编码). 结果是字符串

     

      记住下面的转化规则:

           编写代码类型(如: gbk, utf-8)   ---->  decode 解码 ------>  unicode (内存)

      unicode  ------->  encode 编码  ------>  我们需要的编码 (如:  gbk, utf-8)

    ---恢复内容结束---

  • 相关阅读:
    Spring spEL
    Spring 使用外部部署文件
    Spring 自动装配
    spring 属性配置细节
    hdu 1054 Strategic Game
    fzu 2037 Maximum Value Problem
    将博客搬至CSDN
    HDU 4714 Tree2Cycle
    HDU 1009 The Shortest Path in Nya Graph
    POJ 1942 Paths on a Grid 组合数的优化
  • 原文地址:https://www.cnblogs.com/Knight-huang/p/9844089.html
Copyright © 2011-2022 走看看