【计算机基础知识】字符的编码表示
欢迎来到我的:世界
希望作者的文章对你有所帮助,有不足的地方还请指正,大家一起学习交流 !
目录
- 前言
- 1.西文字符编码
- 2.中文字符编码
- 汉字输入码
- 汉字国标码
- 汉字机内码
- 汉字字形码
- 总结
前言
计算机处理的数据中,除了数值型数据以外,还有字符、图形等的非数值型数据。其中字符是日常生活中使用最频繁的非数值数据,它包括大小写英文、符号以及汉字等。由于计算机只能识别二进制编码,为了能够对字符进行识别和处理,因此要对其进行二进制编码表示;
1.西文字符编码
对西文字符编码最常用的是ASCII(美国信息交换标准代码)字符编码,该编码标准已经被国际标准化组织(ISO)指定为国际标准,是国际上使用最广泛的一种字符编码。ASCII码有两个版本:标准ASCII码和扩展ASCII码。
标准ASCII码是一个用7位二进制数来编码,用8位二进制数来表示的编码方式,其最高位为0,右边7位二进制位总共可以编出2^7=128个码。每个码表示一个字符,一共可以表示128个符号。
扩展ASCII码后128个编码称为扩展ASCII码。许多基于x86的系统都支持使用扩展(或“高”)ASCII。扩展ASCII 码允许将每个字符的第8 位用于确定附加的128 个特殊符号字符、外来语字母和图形符号。
标准ASCII是7位编码,存储时占8位,最高位是0,共可以表示128(2的7次方)个字符。
扩展ASCII是8位编码,刚好1个字节,最高位可以是0也可以是1,共可以表示256(2的8次方)个字符。
标准ASCII码:
表里的128个字符中,0~31及127(共33个)是控制字符或通信专用字符,为不可显示字符;其余字符为普通的字符(可显示字符);
常见ASCII码的大小规则:数字< 大写字母 < 小写字母。
2.中文字符编码
与英文字符一样,中文在计算机系统中也要使用特定的二进制符号来表示。通过键盘输入汉字时实际上是输入汉字的编码信息,这种编码称为汉字的输入码。计算机为了存储、处理汉字,必须将汉字的外部码换成汉字的内部码。为了将汉字以点阵的形式输出,还要将汉字的内部码转换为汉字的字形码。此外,在计算机与其他系统或设备进行信息、数据交流时还要用到国际码(交换码)。汉字编码的转换过程如图:
汉字输入码
汉字输入码是一种用计算机标准键盘上按键的不同排列组合来对汉字的输人进行的编码,也称为汉字的外部码(外码)。目前汉字输人编码法的研究和发展迅速,已有上百种汉字输人编码法。一个好的编码法应满足以下要求:编码短,可以减少击键的次数:码少,可以实现盲打;好学好记,便于学习和掌握,但现在还没有一种符合上述全部要求的汉字输入编码方法。
目前常用的汉宇编码主要分为以下三类:
音码: 主要是以汉语拼音为基础的编码方案,如全拼、双拼、简拼和智能 ABC 等。目前比较流行的拼音输人法有搜狗拼音、百度拼音等。音码的重码率高,单字输人速度慢,但容易掌握。
形码: 形码主要是根据汉字的特点,按汉字固有的形状,把汉字先拆分成部首,然后进行组合,代表有五笔字型法郑码输入法等。形码重码较少,单字输入速度快,但学习和掌握较困难。
数字编码: 常用的是区位码,用数字串输入一个汉字。区位码是将国家标准局公布的6763个两级汉字分为94个区,每个区分为94位,实际上是吧汉字集排列成二维数组的形式,行为区,列为位,每个汉字在数组中的下标就是区位码。区码和位码各用两位十进制数字表示,因此输入一个汉字需要按键4次。例如,“中”字位于第54区48位,区位码为5448。数字编码的优点是无重码,与内部编码的转换比较方便,缺点就是代码很难记;
为了提高输入速度,输入方法现已经走向了智能化,比如:语音识别输入、手写输入或扫描输入。但不管是哪种输入法,都是操作者向计算机输入汉字的手段;
汉字国标码
国标码是我国1980年发布的《信息交换用汉字编码字符集——基本集》(代号为GB2312-80),是中文信息处理的国家标准,也称为汉字交换码,简称GB。国标码对汉字进行编码的时候占用两个字节。考虑与ASCII编码的关系,国标码使用了每个字节的低7位。据统计,GB2312编码共收录汉字6763个和682个图形符号,把最常见的6763个汉字分为两级:一级汉字有3755个,二级汉字有3008个,按照偏旁部首排序。
区位码与国标码之间的关系:
区位码转换为国标码要将一个汉字的十进制区号和十进制位号分别转换为十六进制,然后再分别加上20H,就成为次汉字的国标码。
公式:汉字国标码=汉字区位码+2020H=汉字区位码+A0A0H
小知识:
不止只有GB2312编码,还有很多别的编码,比如:GBK、GB18030、BIG5、Unicode等等,咱们挑两个说一说:
GBK编码:全称《汉字内码扩展规范》1995年制订,也是和GB2312编码一样两个字节表示一个汉字,总共收录了21886个符号,包括了21003个汉字和883个其他符号;
BIG5编码:是专用于港澳地区使用的繁体字编码方案,也是两个字节表示一个汉字,总计有13053个繁体字(包括5401个常用字、7652个次常用字)、7个扩充字、以及808个各式字符,总共13868个字符;
汉字机内码
汉字在计算机内部使用的编码就是内码,也称为机内码。所以真正的计算机内部用来存储和处理和存储汉字信息的代码;每个汉字的内码占用两个字节,并且每个字节的最高位为1,这是为了避免汉字的内码与英文字符编码(ASCII码)发生冲突,容易区分汉字编码和英文字符编码,同时为了用尽可能的存储空间来表示尽可能多的汉字而做出的决定;
机内码与国标码的关系:
国标码的高字节、低字节分别+80H,就可以得到机内码;
汉字机内码=汉字国标码+8080H
汉字字形码
汉字字形码又叫做汉字字模或汉字输入码,用于汉字在显示屏或打印机输出。汉字字形码通常有两种表示方式:点阵式和矢量式。
点阵式表示字形时,分为 16X16 点阵、24X24 点阵、32X32 点阵、48X48 点阵等,点阵越大,描述的字形越细致美观,质量越高,所占存储空间也越大。在计算机中,8 个二进制位组成一个字节,它是度量空间的基本单位,因此,一个16X16点阵的字形码需要 16X16/8-32字节的存储空间,由此可得:
点阵字形码所占字节数=点阵行数X点阵列数/8
矢量式是描述汉字字形的轮廓特征,当要输出汉字时,字形和大小与计算机的分辨率无关,可以产生高质量的汉字输出,并节省存储空间。用矢量式记录的字体可以任意放缩甚至变形,而不用担心会出现锯齿状边缘。
所有汉字的输出码构成了汉字字形库,简称字库。
点阵字体与矢量字体的区别:
总结
到了最后:感谢支持
我还想告诉你的是:
------------对过程全力以赴,对结果淡然处之
也是对我自己讲的
相关文章:

【计算机基础知识】字符的编码表示
欢迎来到我的:世界 希望作者的文章对你有所帮助,有不足的地方还请指正,大家一起学习交流 ! 目录 前言1.西文字符编码2.中文字符编码汉字输入码汉字国标码汉字机内码汉字字形码 总结 前言 计算机处理的数据中,除了数值型数据以外…...
【面试题精讲】Java字符型常量和字符串常量的区别?
“ 有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top ” 首发博客地址[1] 面试题手册[2] 系列文章地址[3] Java 中的字符型常量和字符串常量是两种不同的数据类型。 字符型常量:字符型常量…...

【Vue面试题六】为什么Vue中的 v-if 和 v-for 不建议一起用?
文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 面试官:v-if和v-for的优先级是什…...

leetCode 674. 最长连续递增序列 动态规划 / 贪心策略
674. 最长连续递增序列 - 力扣(LeetCode) 给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。 连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,如果对于每…...

数据中台实战(11)-数据中台的数据安全解决方案
0 微盟删库跑路 除了快、准和省,数据中台须安全,避免“微盟删库跑路”。 2020年2月23日19点,国内最大精准营销服务商微盟出现大面积系统故障,旗下300万商户线上业务全停,商铺后台所有数据被清。始作俑者是一位运维&a…...

林沛满-TCP之在途字节数
本文整理自:《Wireshark网络分析的艺术 第1版》 作者:林沛满 著 出版时间:2016-02 我一直谨记斯蒂芬霍金的金玉良言—每写一道数学公式就会失去一半读者。不过为了深度分析网络包,有时候是不得不计算的,好在小学一年级…...

HTTPS 加密工作过程
引言 HTTP 协议内容都是按照文本的方式明文传输的,这就导致在传输过程中出现一些被篡改的情况。例如臭名昭著的运营商劫持。显然, 明文传输是比较危险的事情,为此引入 HTTPS ,HTTPS 就是在 HTTP 的基础上进行了加密, 进一步的来保…...

校招秋招,性格和职业有关系吗?
企业在招聘应届毕业生时不再局限于普通的面试或者笔试,在互联网时代,为了能够更好的匹配需要的优质人才,企业会通过各种测试来提高招聘的准确率以及成功率。也许以前很多人都听说过性格和职业是有一定关系的,但是如何确定自己的性…...

网络和系统操作命令
目录 ping:用于检测网络是否通畅,以及网络时延情况。ipconfig:查看计算机的IP参数配置信息,如IP地址、默认网关、子网掩码等信息。netstat:显示协议统计信息和当前TCP/IP网络连接。tasklist:显示当前运行的…...
刷穿力扣(1~30)
更好的阅读体验 \huge{\color{red}{更好的阅读体验}} 更好的阅读体验 1. 两数之和 哈希表遍历数组,同时用 HashMap 维护已出现过的数及其下标若当前的数 nums[i] 满足 target - nums[i] 曾经出现过,则直接返回否则将其加入到哈希表中。 class Solution …...
栈和队列的基本操作
(一)实验类型:设计性 (二)实验目的: 1.掌握栈和队列的抽象数据类型。 2.掌握实现栈和队列的各种操作的算法。 3.理解栈与递归的关系。 4. 掌握队列的链式存贮结构及基…...
变压器绕组断股往往导致直流电阻不平衡率超标
变压器绕组断股往往导致直流电阻不平衡率超标, 例如, 某电厂 SFPSL—12000/220 型主变压器, 色谱分析结果发现总烃含量急剧增长, 测直流电阻, 其结果是高、 低压侧与制造厂及历年的数值相比较无异常, 但中压…...

stack和queque
1.stack 1.1定义 T 是容器内的数据类型; Container是数据类型的容器适配器 vector和list和stack的区别 1.2 stack的功能 注意这里没有迭代器;原因stack是先进后出的规律;这就规定该容器不可以随机访问; 2. queue...

信息学 学习/复习 抽签器(附源码)
问你一个问题,你考试前怎么复习呀? 效果图 以下是源代码,可自行修改 [C] #include<bits/stdc.h> #include<windows.h> using namespace std; vector<string>item; int main(void) {item.push_back("Manacher"…...

基于LADRC自抗扰控制的VSG三相逆变器预同步并网控制策略(Simulink仿真实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

[0xGame 2023] week1
整理一下,昨天该第二周了。今天应该9点结束提交,等我写完就到了。 PWN 找不到且不对劲的flag 第1题是个nc测试,但也不完全是,因为flag在隐含目录里 高端的syscall 程序使用了危险函数,并且没有canary阻止࿰…...
Matlab矩阵——矩阵行列互换
问题:如何将 1*n 的矩阵转换为指定 M*N 的矩阵,或者将 M*N 的矩阵转换为 1*n 的矩阵? 处理方法:使用 reshape 函数进行矩阵的行列互换 分两种情况如下: 一、将 1*n 的矩阵转换为指定 M*N 的矩阵 假如有4个坐标值&a…...
OpenMesh 网格面片随机赋色
文章目录 一、简介二、实现代码三、实现效果一、简介 OpenMesh中的赋色方式与Easy3D很是类似,它统一有一个属性数组来进行管理,我们在进行赋色等操作时,必须要首先添加该属性才能进行使用,这里也进行记录一下(法向量等特征也是类似的操作)。 二、实现代码 #define _USE_…...

SpringSecurity源码学习一:过滤器执行原理
目录 1. web过滤器Filter1.1 filter核心类1.2 GenericFilterBean1.3 DelegatingFilterProxy1.3.1 原理1.3.2 DelegatingFilterProxy源码 2. FilterChainProxy源码学习2.1 源码2.1.1 doFilterInternal方法源码2.1.1.1 getFilters()方法源码2.1.1.2 VirtualFilterChain方法源码 3…...

8.2 JUC - 4.Semaphore
目录 一、是什么?二、简单使用三、semaphore应用四、Semaphore原理 一、是什么? Semaphore:信号量,用来限制能同时访问共享资源的线程上限 二、简单使用 public class TestSemaphore {public static void main(String[] args) …...

【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
C++中string流知识详解和示例
一、概览与类体系 C 提供三种基于内存字符串的流,定义在 <sstream> 中: std::istringstream:输入流,从已有字符串中读取并解析。std::ostringstream:输出流,向内部缓冲区写入内容,最终取…...

Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...

用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...

【Oracle】分区表
个人主页:Guiat 归属专栏:Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)
前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块,…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...
Caliper 负载(Workload)详细解析
Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...

群晖NAS如何在虚拟机创建飞牛NAS
套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...