zoukankan      html  css  js  c++  java
  • 编码

    编码

    • 编码,文字和二进制之间的一个对照表

    1.ascii编码

    • ascii规定使用1个字节(8位)来表示字母与二进制的对应关系

    • 2**8=256种对应关系

      只包含英文二进制的对应关系;

    • image-20211125110832357

    • image-20211125111003420

    2.GBK

    • gb-2312编码,1980年制作

    • gbk编码,对gb2312进行扩展,包含了中日韩等文字(1995)
    • 两个字节表示一个汉字

    • image-20211125112204236

    3.unicode

    • unicode也被成为万国码,为全球的每个文字都分配了一个码位(二进制表示)

    • Ucs2
      用固定的两个字节表示一个文字
      
    • Ucs4
      用4个字节表示一个文字
      
      2**32种可能;
      
    • image-20211125113412003

    • image-20211125170104967

    • image-20211125170839581

    4.UTF8

    • 包含所有文字和二进制的对应关系,全球应用较为广泛。

    • 本质上utf-8是对unicode的压缩,用尽量少的二进制去与文字进行对应。

    • 中文使用utf8表示,一般是3个字节

    • image-20211125171209349

    • image-20211126085643648

    5、Python中的编码

    5.1 字节

    字符串(str)	"啊哈哈哈哈"		Unicode处理			一般存在内存(运行内存)
    字节(byte)	b"ahhhhhhhhh"	utf8编码 or gbk编码		一般用于文件的存储
    

    image-20211126090506698

    • # -*- coding: utf-8 -*-
      '''
      @Time    : 2021/11/26 9:09
      @Author  : ziqingbaojian
      @File    : 1.编码.py
      '''
      
      name="啊哈哈哈哈"
      print(name.encode("utf8"))#b'\xe5\x95\x8a\xe5\x93\x88\xe5\x93\x88\xe5\x93\x88\xe5\x93\x88'
      print(name.encode("gbk"))#b'\xb0\xa1\xb9\xfe\xb9\xfe\xb9\xfe\xb9\xfe'
      
      file_obj=open('log.txt','wb')
      file_obj.write(name.encode("utf8"))#以字节的形式写入
      file_obj.close()#关闭文件
      
    • image-20211126091229044

  • 相关阅读:
    OnSize() 与 OnInitDialog()[设置控件大小]
    C库函数中字符串处理函数集合
    智能提示导致Visual Studio 2010崩溃问题
    MFC中关闭窗口的几种方法
    8086寄存器组
    MASM6.1使用方法(适合初学者)
    MultiThread
    汇编语言超浓缩教程
    汇编 ADD与DAA指令
    Function Pointer
  • 原文地址:https://www.cnblogs.com/Blogwj123/p/15606084.html
Copyright © 2011-2022 走看看