zoukankan      html  css  js  c++  java
  • 编码解码

    1、为何要编码

      由于计算机底层只能识别二进制数字即0和1,因而所谓的“hello world”对于计算机当然是不认识的,为了让计算机能够识别这些汉子或者数字或者字符,自然就需要一套编码表帮助计算机去理解

      首先,在中文中,一个汉字占两个字节,一个字节占8位,即需要8个0或者1的数字排列在一块。

      重点:
        <1> 8个0或者1 有256种组合,如果没有编码,0000 0000 代表数字0,  0000 0010 代表数字2

        <2> 8个0或者1有256种组合。而·汉字常用的也有近4000了,如果每一种组合代表一个汉子,例如 0000 0000 代表了“你”,0000 0001 代表 ‘最’  0000 0010 代表‘帅’

    那我们 对计算机发送这三个 8位二进制数字,它应该会给我们返回 “你最帅”这三个字没毛病对吧

        <3> 汉字很多,8位 只能存储 256 个汉子很明显满足不了需求,所以就需要16位字节存储65536个汉字或者其他的,所以计算机就能识别人类世界的各种字符了

        <4> 所有中文,英文 ,各种编码表所占字节可能都不相同,但是本质一样,你也可以自己设计独一无二的编码表。

    2  编码延伸

      数据类型有 int ,string 等等,string代表字符,1是int类型,‘1’是字符类型,二者都为1 ,很明显 ,int类型的映射表应该被string类型所包含。所以int 类型的1 是可以被转换为string,而string无法被强制转换为int 类型

    3  一通百通

      写代码,大问题小问题先考虑底层,知道底层结构,通常采用的都能是最有效的,代码量最少的方法

  • 相关阅读:
    下载文件c#
    系统蓝屏重起:如何修改设置,记录系统蓝屏重起的错误
    Repeater中的行数
    2010617 重装系统遇到的问题
    ajax 修改select的值 返回的值中有逗号
    GPS数据接收 串口调试感受
    Nios II实用之音频控制
    【笔记】VB控件MSComm功能介绍
    【摘】程序员版同桌的你
    AJAX Control Toolkit ——DragPanelExtender(拖拽面板)
  • 原文地址:https://www.cnblogs.com/jiangweili/p/9304208.html
Copyright © 2011-2022 走看看