编码的理解

news2024/12/24 2:57:26

人类的文字信息由各种各样的符号构成

文字-----符号

这些符号是不能在磁盘或内存当中存储的,计算机最早是由老美发明出来的,内存和磁盘当中只有 0,1,严格来说内存和磁盘中只能表示整型,那么我们应该怎么表示符号--------编码

一字节8比特位:0~127

编码是值和符号的映射编码关系:

ascll编码表:

1.ASCII中的0~31为控制字符;32~126为打印字符;127为Delete(删除)命令

2.ASCll编码表本质就是英文符号和值的映射关系;

3.(核心符号26(大写)+26(小写)+10(阿拉伯数字))+常见符号,这些还有空余,早期就将这些空余用表情包来编码;

int main()
{
	char buff[] = "apple sort";
	return 0;
}

计算机并不会在底层存储apple和sort这两个单词,而是存对应的编码值:

内存存值,显示符号,打印时访问内存,有很多个字节,拿到第一个字节是97,再拿97去编码里面去查,97映射的符号是a,所以显示对应的符号,所以打印的时候就是查编码表的过程

那我们直接取值:

乱码就是值和表对不上

但是ASCll是适合老美的,编码表是来表示文字的,计算机要继续推广,我们的文化博大精深,汉族就有近10万个,从国际上来,我们需要一个比较统一的编码表:Unicod

统一码(Unicode),也叫万国码、单一码,由统一码联盟开发,是计算机科学领域里的一项业界标准,包括字符集、编码方案等;

统一码是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求;

随着发展,又给了许多方案,我们重点关注UTF-8/16/32

UTF-8可以认为还是8个比特位去对应一个符号,但是不一定是8个比特位,有可能是2个8个比特位的组合表示一个符号,是一个变长编码,兼容ASCll(比如中英混合),也就是UTF-8就是以1个字节为单位;

UTF-16就是以2个字节为单位;

UTF-16就是以4个字节为单位;

由兼容性和适用性,UTF-8比较常用 

这也是为什么C++的string要设计成模板(char)(char16_t)(char32_t)

小知识:

GBK:

GBK全称《汉字内码扩展规范》(GBK即“国标”、“扩展”汉语拼音的第一个字母,英文名称:Chinese Internal Code Specification) ,中华人民共和国全国信息技术标准化技术委员会1995年12月1日制订,国家技术监督局标准化司、电子工业部科技与质量监督司1995年12月15日联合以技监标函1995 229号文件的形式,将它确定为技术规范指导性文件。2000年已被GB18030-2000《信息交换用 汉字编码字符集 基本集的扩充》国家强制标准替代。 [1]2005年GB18030-2005发布,替代了GB18030-2000。

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

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

相关文章

linux进程控制——进程替换——exec函数接口

前言: 本节内容进入linux进程控制板块的最后一个知识点——进程替换。 通过本板块的学习, 我们了解了进程的基本控制方法——进程创建, 进程退出, 进程终止, 进程替换。 进程控制章节和上一节进程概念板块都是在谈进程…

智算新风向丨趋动科技获中国信通院泰尔实验室首张智算资源池化能力泰尔测评证书

近日,趋动科技“OrionX AI算力资源池化软件”经中国泰尔实验室依据《FG-Z14-0172-01智算资源池化平台测试方案》评估测试,获得智算资源池化能力泰尔测评证书,成为该领域首个完成此评价的产品。 图1.OrionX通过智算资源池化平台评测 随着AI大…

智能巡检企业级域名 SSL 证书

一、概述 SSL 证书是一种数字证书,用于在用户和服务器之间建立加密链接,确保数据传输的安全性,防止数据在传输过程中被截获或篡改。SSL 证书不仅保护了数据传输过程中的隐私和完整性,还可以帮助验证网站的身份,防止钓…

基于SpringBoot+Vue的科研管理系统(带1w+文档)

基于SpringBootVue的科研管理系统(带1w文档) 基于SpringBootVue的科研管理系统(带1w文档) 科研的管理系统设计过程中采用Java开发语言,B/S结构,采取springboot框架,并以MySql为数据库进行开发。结合以上技术,对本系统的整体、数据库、功能模块…

鸿蒙系统开发【加解密算法库框架】安全

加解密算法库框架 介绍 本示例使用ohos.security.cryptoFramework相关接口实现了对文本文件的加解密、签名验签操作。 实现场景如下: 1)软件需要加密存储本地文本文件,需要调用加解密算法库框架选择密钥文本文件,对本地文本文…

PostgreSQL11 | 触发器

本文章代码已在pgsql11.22版本上运行且通过,展示页由pgAdmin8.4版本提供 上一篇总结了原著的第十章有关pgsql的视图的用法,本篇将总结pgsql的触发器的用法。 触发器 使用触发器可以自动化完成一些在插入数据或修改数据时,某些需要同期同步的…

【vulnhub】Depth靶机

靶机安装 下载地址:https://download.vulnhub.com/depth/DepthB2R.ova 运行环境:VMware运行该虚拟机 信息收集 靶机IP发现 nmap 192.168.93.0/24 端口扫描 nmap -A 192.168.93.154 -p- 只开起了8080端口 进行目录扫描8080端口 dirsearch -u http…

学习记录(9):Prompt提示词技巧

依旧照例先感谢前辈们的慷慨分享 今天学习的是这篇文章↓ 原文:转自公主号“博金斯的AI笔记” —《4篇Prompt论文的提示词技巧, 3 个 GPTs 实例测试》 文章目录 一、提示词框架二、逻辑链(Chain of thought)三、思维树(Tree of th…

华为Atlas 500 智能小站+鸿蒙AI大算力边缘计算解决方案

Atlas 500 智能小站鸿蒙大算力解决方案 技术规格 表3-1 技术规格 项目 说明 处理器 海思Hi3559A处理器 双核ARM Cortex A731.6GHz,32KB I-Cache,64KB D-Cache /512KB L2 cache双核ARM Cortex A531.2GHz,32KB I-Cache,32KB D-C…

如何确保PLC系统安全的可靠性,这几个注意事项你需要牢记

PLC(可编程逻辑控制器)是现代工业自动化系统中的关键组成部分。在设计 PLC 系统时,安全性是至关重要的考虑因素。本文将介绍 PLC 系统设计中的一些安全注意事项,包括电源设计、接地设计、关键数字量输入输出设计和报警设计。 一.…

阿一网络安全学院之绕过CDN发现服务器真实IP

方法一: 探测次级域名 方法二: 访问文件 使用访问错误目录获得报错信息成功 方法三: 去掉 www 查询 方法四: 使用网络测绘搜索引擎查询 和方法二获得的 IP 一样 方法五: 使用外国节点查询: 用了无数…

关于使用php的mpdf插件遇到的一些问题

一.插件版本 "mpdf/mpdf": "^8.0", 二.报错&#xff1a;Undefined index: list_style_type 这个是插件无法识别 li 标签导致&#xff0c;生成pdf是加入下面代码 <style> li { list-style-type: none; list-style-image: none; list-style-positi…

HTML-03.新浪新闻-标题-样式2

1.<span>标签 <span>是一个在开发网页时大量使用的没有语义的布局标签 特点&#xff1a;一行可以显示多个&#xff08;行内组合元素&#xff09;&#xff0c;宽度和高度默认由内容撑开 2.CSS选择器 2.1 元素选择器&#xff1a;标签名{...} 元素名称{ color:red; }…

如何在 Debian 上安装运行极狐GitLab Runner?【一】

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;专门面向中国程序员和企业提供企业级一体化 DevOps 平台&#xff0c;用来帮助用户实现需求管理、源代码托管、CI/CD、安全合规&#xff0c;而且所有的操作都是在一个平台上进行&#xff0c;省事省心省钱。可以一键安装极狐GitL…

04-Fastjson反序列化漏洞

免责声明 本文仅限于学习讨论与技术知识的分享&#xff0c;不得违反当地国家的法律法规。对于传播、利用文章中提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;本文作者不为此承担任何责任&#xff0c;一旦造成后果请自行承担&…

ShardingSphere实战(5)- 读写分离

上篇博客&#xff0c;我们讲了 ShardingSphere实战&#xff08;4&#xff09;- 广播表和默认数据源 &#xff0c;这篇博客&#xff0c;我们实现一下读写分离。 一、读写分离配置 # sharding-jdbc 读写分离策略 # 给数据源起别名&#xff0c;这里名称需要和下面的一致 spring.…

【C++标准模版库】vector的介绍及使用

vector 一.vector的介绍二.vector的使用1.vector 构造函数2.vector 空间增长3.vector 增删查改4.vector 迭代器的使用1.正向迭代器2.反向迭代器 5.victor 迭代器失效问题&#xff08;重点&#xff09; 三.vector不支持 流提取与流插入四.vector存储自定义类型1.存储string2.存储…

OS_操作系统的运行环境

2024.06.11:操作系统的运行环境学习笔记 第3节 操作系统的运行环境 3.1 操作系统引导3.2 操作系统内核3.2.1 内核资源管理3.2.2 内核基本功能 3.3 CPU的双重工作模式3.3.1 CPU处于用户态&#xff08;目态&#xff09;3.3.2 CPU处于内核态&#xff08;管态&#xff09; 3.4 特权…

【mars3d】创建一个全黑的地球,太空背景色随意

关键参数&#xff1a; 1.backgroundColor 2.baseColor 3.basemaps 在basemaps没有底图的时候&#xff0c;可以直接设置地球的背景色baseColor 与此同时需要注意&#xff0c;不要showSkyBox等天空盒效果&#xff0c;不然容易看不见球在哪里&#xff0c;不好操作 链接&…

一种用于用于图像超分辨率的高效退化模型

一种用于用于图像超分辨率的高效退化模型 摘要引言退化模型设计图像降质模型简化版3.1. 模糊3.2. 下采样3.3. 噪声3.4. 随机排序 实验结果结论参考文献 摘要 为了增加数原始图像的退化丰富度&#xff0c;提高超分辨率网络的泛化能力&#xff0c;本文介绍了一种更加复杂但实用的…