带你读《全景揭秘字符编码》之四:四、计算机编码转换过程(1)

简介: 带你读《全景揭秘字符编码》之四:四、计算机编码转换过程(1)

四、计算机编码转换过程


4.1、概述


正因为计算机只能表示“01”的逻辑概念,无法直接表示图片以及文字,所以我们需要一定的转换过程。


这其实就是我们按照一定的规则维护了字符-数字的映射关系,比如我们把“A”抽象成计算机中的“1”,当我们看到1的时候就认为这是“A”,本质上就是一张映射表,理论上你可以随意给每个字符分配一个独一无二的编号(character code,字符编码)。


比如下表这样:



接下来我们来看下一个文字从“输入-转码存储-输出(显示/打印)”的简单流程。


首先:我们知道计算机是美国人发明的,规则是美国人定的,键盘上的按键也都是英文字母,所以编号不是你想怎么分配就怎么分配。对于英文字母的输入,键盘和ASCII码之间是直接对应的,键盘按键“A”对应的编号“65”,存储到磁盘上也是“65”的二进制直译“01000001”,这很好理解。


但是:对于汉字输入就不是这么回事了,键盘上可没有汉字对应的输入按键,我们不可能直接敲出汉字字符。于是就有了输入码、机内码、字形码的转换关系,输入码帮助我们把英文键盘按键转换成汉字字符,机内码帮助我们把汉字字符转换成二进制序列,字形码帮助我们把二进制序列输出到显示器成像。




带你读《全景揭秘字符编码》之四:四、计算机编码转换过程(2) https://developer.aliyun.com/article/1241079?groupCode=tech_library

相关文章
|
8月前
|
人工智能 数据可视化 JavaScript
2.1k star! 抓紧冲,DeepChat:连接AI与个人世界的智能助手的开源项目
DeepChat是一款开源跨平台智能助手工具,采用Apache-2.0协议,已获2.1k星标。它支持Windows/macOS/Linux,兼容20+主流AI服务,如OpenAI、Gemini等,还支持本地部署的开源模型。其核心功能包括全模型兼容架构、智能搜索增强、可视化工具平台(MCP)、多模态呈现及隐私安全设计。DeepChat适用于程序员助手、内容创作、学习研究、数据分析和智能办公五大场景。项目优势在于智能搜索决策、零配置工具链和企业级扩展性,是探索AI应用的理想选择。项目地址:https://github.com/ThinkInAIXYZ/deepchat。
552 0
|
前端开发
css 设置背景色渐变、字体颜色渐变
css 设置背景色渐变、字体颜色渐变
|
SQL 数据库
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
SQL Server附加数据库出现错误823,附加数据库失败。数据库没有备份,无法通过备份恢复数据库。 SQL Server数据库出现823错误的可能原因有:数据库物理页面损坏、数据库物理页面校验值损坏导致无法识别该页面、断电或者文件系统问题导致页面丢失。
293 13
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
|
12月前
|
人工智能 数据可视化 前端开发
低代码开发平台哪些好用?推荐这六款!
低代码开发平台通过可视化拖放方式简化编程,适合技术人员和业务专家。本文推荐六款平台:织信、明道云、IVX、轻流、伙伴云、搭搭云。各平台特色如下:1. **织信**:企业级性能,支持多场景应用,AI深度融合,自动化蓝图。2. **明道云**:零代码构建,超自动化引擎,多端可用,开放性设计。3. **IVX**:全栈代码生成,多语言支持,可视化编程,跨平台兼容。4. **轻流**:强大表单引擎,流程引擎,Q-Robot业务机器人,数据分析。5. **伙伴云**:云表格Pro,项目协作,丰富的行业模板,强大的数据处理。6. **搭搭云**:功能全面,个性化定制,移动端免开发,快速响应业务变化。
|
12月前
|
Dart 前端开发 IDE
鸿蒙Flutter实战:14-现有Flutter 项目支持鸿蒙 II
本文介绍了如何将现有 Flutter 项目适配鸿蒙系统,详细步骤包括安装 FVM、使用 FVM 安装 Flutter SDK、搭建开发环境、创建项目架构和壳工程等。
1061 5
鸿蒙Flutter实战:14-现有Flutter 项目支持鸿蒙 II
|
人工智能 搜索推荐 API
[AI Perplexica] AI驱动的开源搜索引擎
探索Perplexica,一款由AI驱动的开源搜索引擎,了解其特点、使用方法以及如何安装。
[AI Perplexica] AI驱动的开源搜索引擎
|
运维 监控 安全
系统故障排查与问题解决指南:步步为营,精准定位
【8月更文挑战第16天】系统故障排查与问题解决是一项复杂而艰巨的任务,需要运维人员具备扎实的专业知识、丰富的实践经验以及良好的沟通能力和团队合作精神。通过遵循本文提供的指南,您可以更加高效地应对系统故障挑战,保障系统的稳定运行和业务的持续发展。
|
SQL Java 数据库连接
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率
在Java应用中,数据库访问常成为性能瓶颈。连接池技术通过预建立并复用数据库连接,有效减少连接开销,提升访问效率。本文介绍了连接池的工作原理、优势及实现方法,并提供了HikariCP的示例代码。
244 3
|
Java 数据库连接 数据库
深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能
在Java应用开发中,数据库操作常成为性能瓶颈。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能。文章介绍了连接池的优势、选择和使用方法,以及优化配置的技巧。
222 1
|
缓存 算法 Linux
Linux内核中的调度策略优化分析####
本文深入探讨了Linux操作系统内核中调度策略的工作原理,分析了不同调度算法(如CFS、实时调度)在多核处理器环境下的性能表现,并提出了针对高并发场景下调度策略的优化建议。通过对比测试数据,展示了调度策略调整对于系统响应时间及吞吐量的影响,为系统管理员和开发者提供了性能调优的参考方向。 ####

热门文章

最新文章