• 认识字符集、ASCII、GBK、Unicode、UTF-8


    一、标准 ASCII 字符集

    ASCII(American Standard Code Information Interchange),美国信息交换标准码,包括了英文、符号等。

    标准 ASCII 使用1个字节存储一个字符,首尾是0,总共可以表示128个字符,对于美国人来说完全够用。

    二、GBK(汉字内码扩展规范,国标)

    汉字编码字符集,包含了2万多个汉字等字符,GBK中一个中文字符编码成两个字节的形式存储

    注意:GBK 兼容了 ASCII 字符集。

    GBK规定:汉字的第一个字节的第一位必须是1,例如:

    在这里插入图片描述

    三、Unicode字符集(统一码,也叫万国码)

    Unicode 是国际组织制定的,可以容纳世界上所有文字、符号的字符集。

    UTF-32,4个字节表示一个字符,有容乃大,缺点就是占存储空间,通信效率变低。

    UTF-8,是Unicode字符集一种编码方案,采取可变长编码方案,共分四个长度区:1个字节、2个字节、3个字节、4个字节。

    英文字符、数字等只占1个字节(兼容标准 ASCII 编码),汉字字符占用3个字节。

    UTF-8 编码方式(二进制):

    在这里插入图片描述

    例子:

    在这里插入图片描述
    注意:技术人员在开发时都应该使用UTF-8编码!

    总结:
    在这里插入图片描述

    注意点:
    1、字符编码时使用的字符集,和解码时使用的字符集必须一致,否则会出现乱码。
    2、英文和数字一般不会乱码,因为很多字符集都兼容了ASCII编码。

    四、iso-8859-1

    iso8859-1编码表示的字符范围很窄,无法表示中文字符。但是,由于是单字节编码,和计算机最基础的表示单位一致,所以很多时候,仍旧使用iso8859-1编码来表示。而且在很多协议上,默认使用该编码。

    虽然’中文’两个字不存在iso8859-1编码,以gb2312编码为例,应该是’d6d0 cec4’两个字符,使用iso8859-1编码的时候则将它拆开为4个字节来表示:‘d6 d0 ce c4’(事实上,在进行存储的时候,也是以字节为单位处理的)。而如果是UTF编码,则是6个字节’e4 b8 ad e6 96 87’。很明显,这种表示方法还需要以另一种编码为基础。

  • 相关阅读:
    商场会员营销系统 购物中心会员精细化运营体系
    Java基础(十九)Map
    交叉编译 Crypto++
    alibaba fastjson的JsonObject有序的实现和源码分析
    Go函数全景:从基础到高阶的深度探索
    java计算机毕业设计商店管理系统源码+数据库+系统+lw文档+mybatis+运行部署
    购买窗帘时哪些可以不做?-江南爱窗帘十大品牌
    纽约时报个人叙事赛及纽约时报学生评论赛选哪个?
    【攻防世界】学习记录-crypto(系数2 part2)
    Leetcode 77. Combinations
  • 原文地址:https://blog.csdn.net/KevinChen2019/article/details/127678239