zoukankan      html  css  js  c++  java
  • python编码知识初始_ASCII码,Unicode,Utf-8,GBK

    谍战片,电报,摩斯密码,相应规则(暗号),编码解码;

    电脑底层是高低电平来传输信息(OSI七层模型,最底层);文件存储的本质,也是二进制,01010101

    美国:ASCII码(8位表示一个字节 0000 0001)

    1 在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像a、b、c、d这样的52个字母(包括大写)以及0、1等数字还有一些常用的符号(例如*、#、@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII编码,统一规定了上述常用符号用哪些二进制数来表示。 [2] 
    View Code

       ASCII码表网上可查。http://tool.oschina.net/commons?type=4

      本来ASCII码只用到7位,设计者多留1位,预留以便以后扩展,所以ASCII码最左边的以为全是0(预留位)

      8位bit == 1个字节(byte) 1024(字节)byte = 1kb   1024 kb == 1MB   1024MB == 1GB   1024GB == 1TB

    中文:9万多字,为满足全球化需求,ASCII码必须拓展。 美国为解决此问题,创建万国码,Unicode;

    Unicode规定:

      用一个字节(8位),表示所有的英文,特殊字符,数字等等

      用四个字节(32位),表示一个中文,足够(统计:21位足够所有语言使用)

      缺陷:浪费资源,空间,针对此问题,对Unicode进行升级,即utf-8

    Utf-8(Unicode升级版)规定:一个中文 3个字节(24位)去表示,也包含其他语言。

    GBK,仅在国内使用,一个中文用2个字节表示(不能包含所有中文)。

    最好用:Utf-8

  • 相关阅读:
    怎样在过滤器中读取配置信息?
    怎样将直接数据库中Json字段,映射到Mybatis中的Map类型?
    spring/boot 打包,资源/配置/业务文件分离
    使用VS Code推送代码到GitHub
    Clion下jni配置
    curl post请求总是返回417错误
    ubuntu 12.10 apt-get 源
    如何让git小乌龟工具TortoiseGit记住你的账号密码
    FastCgi与Cgi
    Libevent核心原理
  • 原文地址:https://www.cnblogs.com/RevelationTruth/p/11449270.html
Copyright © 2011-2022 走看看