码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 字符编码


    字符编码

    • ANSI 多字节编码
    • Unicode 系列编码
    • UTF-8
    • UTF-16

    QT学习笔记(1)—字符编码
    GB2312、GBK、GB18030 这几种字符集的主要区别是什么?

    ANSI 多字节编码

    计算机采用高电平和低电平分别表示1和0,因此数据的存储和运算用二进制表示,因此需要编码来指定哪些二进制表示哪个符号,因此出现 ASCLL。

    ASCLL:单字节编码方案,指定7位(便准ASCLL码)或8位(扩展ASCLL码)组合来表示128或256种可能的字符。

    标准ASCLL(0x00 ~ 0x7F):7位二进制数表示127位,最高位作奇偶校验,用来检验是否出现错误。
    奇校验:一个字节中的1必须为奇,如果不是,则最高位填充1。
    偶校验:一个字节中的1必须为偶,如果不是,则最高位填充1。

    扩展ASCLL (0x80 ~ 0xFF):8位二进制数表示256位,扩展ASCLL码增加一些欧洲国家使用的特殊符号。
    所有国家其前面 0 -127 相同,128 - 255 段可能不同国家的编码不一样,因为每个国家都用同一扩展部分表示自己的符号。

    对于亚洲国家的文字,符号太多以至扩展的ASCLL码也无法表示全部字符,因此出现多字节编码,如简体中文的 GB2312,用两个字符表示一个汉字。

    Unicode 系列编码

    Unicode 百度百科
    QT学习笔记(1)—字符编码
    Unicode and Character Sets
    Unicode web site
    Byte Order Mark (BOM)
    Unicode and You

    不同地方对同一字段采用表示不同的的字符,因此有冲突,国际组织制定 Unicode 编码,也称国际码,对全球语言统一分配编码区间,解决不同语言的冲突。

    Unicode 编码系统,分为编码方式和实现方式。

    编码方式: Unicode用数字0-0x10FFFF来映射字符,最多可以容纳1114112个字符,或者说有1114112个码位。码位就是可以分配给字符的数字。
    UTF-8、UTF-16、UTF-32都是将数字转换到程序数据的编码方案。

    Unicode字符集可以简写为UCS(Unicode Character Set)。
    早期的Unicode标准有UCS-2、UCS-4的说法。UCS-2用两个字节编码,UCS-4用4个字节编码。

    实现方式:

    1

    UTF-8

    UTF-8 百度百科
    Unicode 百度百科

    以字节为单位对 Unicode 进行编码,针对不同范围的字符使用不同长度的编码:

    1

    UTF-8 编码无字节序问题:
    为什么UTF-8没有字节序问题?

    大端和小端字节序介绍:
    Understanding Big and Little Endian Byte Order

    UTF-16

    Unicode Technical Site
    UTF-8, UTF-16, UTF-32 & BOM

  • 相关阅读:
    十四、Django之添加用户(django组件Form/ModelForm实现)
    [附源码]Python计算机毕业设计Django校园快递柜存取件系统
    零基础学习CANoe Panel(12)—— 进度条(Progress Bar)
    javaScript学习———变量概述 变量的使用 变量语法扩展 变量命名规范交换 变量案例
    STM32G0-BSP板级支持包
    C语言:打印100-200的质数
    解决mac 下 docker-compose 不是命令
    OneNote重装或升级版本后如何同步之前的在线笔记?
    iOS 16.2 的7个惊人变化
    RabbitMQ
  • 原文地址:https://blog.csdn.net/Lee567/article/details/126849716
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号