【计算机基础知识】字符的编码表示

news2024/12/24 8:37:18

在这里插入图片描述

欢迎来到我的:世界

希望作者的文章对你有所帮助,有不足的地方还请指正,大家一起学习交流 !


目录

  • 前言
  • 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

矢量式是描述汉字字形的轮廓特征,当要输出汉字时,字形和大小与计算机的分辨率无关,可以产生高质量的汉字输出,并节省存储空间。用矢量式记录的字体可以任意放缩甚至变形,而不用担心会出现锯齿状边缘。

所有汉字的输出码构成了汉字字形库,简称字库。

点阵字体与矢量字体的区别:
在这里插入图片描述


总结


到了最后:感谢支持

我还想告诉你的是:
------------对过程全力以赴,对结果淡然处之
也是对我自己讲的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1067189.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数据结构-哈希表 一】【原地哈希】:缺失的第一个正整数

废话不多说&#xff0c;喊一句号子鼓励自己&#xff1a;程序员永不失业&#xff0c;程序员走向架构&#xff01;本篇Blog的主题是【原地哈希】&#xff0c;使用【数组】这个基本的数据结构来实现&#xff0c;这个高频题的站点是&#xff1a;CodeTop&#xff0c;筛选条件为&…

Day-05 CentOS7.5 安装 Docker

参考 &#xff1a; Install Docker Engine on CentOS | Docker DocsLearn how to install Docker Engine on CentOS. These instructions cover the different installation methods, how to uninstall, and next steps.https://docs.docker.com/engine/install/centos/ Doc…

淘宝商品描述数据API接口

淘宝商品描述数据API接口是淘宝开放平台提供的一种接口&#xff0c;主要用于获取淘宝商品描述信息。该API接口可以帮助开发者在自己的网站或应用程序中快速获取淘宝商品的详细描述信息&#xff0c;包括商品标题、商品描述、商品属性、价格、图片等。 淘宝商品描述数据API接口采…

2023年【广东省安全员C证第四批(专职安全生产管理人员)】报名考试及广东省安全员C证第四批(专职安全生产管理人员)最新解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2023年【广东省安全员C证第四批&#xff08;专职安全生产管理人员&#xff09;】报名考试及广东省安全员C证第四批&#xff08;专职安全生产管理人员&#xff09;最新解析&#xff0c;包含广东省安全员C证第四批&…

DWC数字世界大会先导论坛将于10月13日在宁波举办 | 数字技术赋能世界可持续发展

农业经济影响世界数千年&#xff0c;工业经济从欧美发源开始已有数百年&#xff0c;数字经济作为世界未来发展之大势&#xff0c;将成为影响未来数百年的世界命题。在以中国式现代化全面推进中华民族伟大复兴的历史征程中&#xff0c;数字技术、数字经济作为中国式现代化实践最…

浅析如何在抖音快速通过新手期并积累粉丝

抖音是一款非常受欢迎的短视频分享平台&#xff0c;它提供了一个快速成名和积累粉丝的机会。对于新手来说&#xff0c;通过四川不若与众总结的以下几个步骤可以帮助你快速通过抖音的新手期。 首先&#xff0c;确定你的内容定位。在抖音上&#xff0c;有各种各样的内容类型&…

一文搞懂pytorch hook机制

pytorch的hook机制允许我们在不修改模型class的情况下&#xff0c;去debug backward、查看forward的activations和修改梯度。hook是一个在forward和backward计算时可以被执行的函数。在pytorch中&#xff0c;可以对Tensor和nn.Module添加hook。hook有两种类型&#xff0c;forwa…

开环模块化多电平换流器仿真(MMC)N=6(Simulink仿真)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

【Vue面试题六】为什么Vue中的 v-if 和 v-for 不建议一起用?

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘也能加深记忆。利己利人、所谓双赢。 面试官&#xff1a;v-if和v-for的优先级是什…

企业建设数字化工厂的四个要点

在当今的制造业领域&#xff0c;数字化技术的应用越来越广泛&#xff0c;数字化工厂管理系统的概念也随之兴起。数字化工厂是一种全新的生产模式&#xff0c;它将信息技术、制造技术和网络技术深度融合&#xff0c;实现了从产品设计到生产制造再到企业管理全过程数字化。本文将…

stack和queque

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

热迁移中VirtIO-PCI设备的配置空间处理

文章目录 问题现象定位过程日志分析源端目的端 原理分析基本原理上下文分析复现分析patch分析 总结解决方案 问题现象 集群升级虚拟化组件版本&#xff0c;升级前存量运行并挂载了virtio磁盘的虚拟机集群内热迁移到升级后的节点失败&#xff0c;QEMU报错如下&#xff1a; 202…

KdMapper扩展实现之Dell(pcdsrvc_x64.pkms)

1.背景 KdMapper是一个利用intel的驱动漏洞可以无痕的加载未经签名的驱动&#xff0c;本文是利用其它漏洞&#xff08;参考《【转载】利用签名驱动漏洞加载未签名驱动》&#xff09;做相应的修改以实现类似功能。需要大家对KdMapper的代码有一定了解。 2.驱动信息 驱动名称pcds…

数据中台实战(11)-数据中台的数据安全解决方案

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

Java常见设计模式

单例模式&#xff1a;程序自始至终只创建一个对象。 应用场景&#xff1a;1.整个程序运行中只允许一个类的实例时 2.需要频繁实例化然后销毁的对象 3.创建对象时耗时过多但又经常用到的对象 4.方便资源相互通信的环境 懒汉式线程不安全问题解决方案&#xff1a; 双重检查加锁机…

HTTPS 加密工作过程

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

计算机毕业设计 基于Java的同城宠物帮(宠物领养平台\系统)的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

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…

C++学习day1

一>整理思维导图 二>提示并输入一个字符串 &#xff0c;统计活该字符串中的大写&#xff0c;小写&#xff0c;数字&#xff0c;空格&#xff0c;以及其他字符的个数要求使用c风格符完成 #include <iostream>int main() {std::string input;std::cout << &qu…

网络和系统操作命令

目录 ping&#xff1a;用于检测网络是否通畅&#xff0c;以及网络时延情况。ipconfig&#xff1a;查看计算机的IP参数配置信息&#xff0c;如IP地址、默认网关、子网掩码等信息。netstat&#xff1a;显示协议统计信息和当前TCP/IP网络连接。tasklist&#xff1a;显示当前运行的…