ASCII 、UTF-8、Unicode 编码方式的区别

【ROS】usb_cam相机标定 1. 唠叨两句 当我们要用相机做测量用途时,就需要做相机标定了,不然得到的计算结果会有很大误差,标定的内容包括三部分:内参,外参还有畸变参数。所以标定的过程就是要求得上面这些参数。 以前弄这个事估计挺麻烦,需要做实验和计算才能得到,现在通过ros的开源包几分钟就能完成相机标定,感激! 具体的内外参和畸变系数的说明,可以看看Reference里面的第一个链接,写得很详细。 2. 准备工作 要准备三样东西: usb_cam的ROS启动包 相机标定的ROS包 还有一个用于标定的棋盘格 1)usb_cam启动包 阅读详情

ASCII 、UTF-8、Unicode 编码方式的区别

字符编码
字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题。因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节。比如两个字节可以表示的最大整数是65535,4个字节可以表示的最大整数是4294967295。

由于计算机是美国人发明的,因此,最早只有127个字符被编码到计算机里,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母z的编码是122。

但是要处理中文显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去。

你可以想得到的是,全世界有上百种语言,日本把日文编到Shift_JIS里,韩国把韩文编到Euc-kr里,各国有各国的标准,就会不可避免地出现冲突,结果就是,在多语言混合的文本中,显示出来会有乱码。
在这里插入图片描述

因此,Unicode字符集应运而生。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。

Unicode标准也在不断发展,但最常用的是UCS-16编码,用两个字节表示一个字符(如果要用到非常偏僻的字符,就需要4个字节)。现代操作系统和大多数编程语言都直接支持Unicode。

现在,捋一捋ASCII编码和Unicode编码的区别:ASCII编码是1个字节,而Unicode编码通常是2个字节。

字母A用ASCII编码是十进制的65,二进制的01000001;

字符0用ASCII编码是十进制的48,二进制的00110000,注意字符’0’和整数0是不同的;

汉字中已经超出了ASCII编码的范围,用Unicode编码是十进制的20013,二进制的01001110 00101101。

你可以猜测,如果把ASCII编码的A用Unicode编码,只需要在前面补0就可以,因此,A的Unicode编码是00000000 01000001。

新的问题又出现了:如果统一成Unicode编码,乱码问题从此消失了。但是,如果你写的文本基本上全部是英文的话,用Unicode编码比ASCII编码需要多一倍的存储空间,在存储和传输上就十分不划算。

所以,本着节约的精神,又出现了把Unicode编码转化为“可变长编码”的UTF-8编码。UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。如果你要传输的文本包含大量英文字符,用UTF-8编码就能节省空间:

字符	ASCII	Unicode	UTF-8A	01000001	00000000 01000001	01000001中	x	01001110 00101101	11100100 10111000 10101101

从上面的表格还可以发现,UTF-8编码有一个额外的好处,就是ASCII编码实际上可以被看成是UTF-8编码的一部分,所以,大量只支持ASCII编码的历史遗留软件可以在UTF-8编码下继续工作。

搞清楚了ASCII、Unicode和UTF-8的关系,我们就可以总结一下现在计算机系统通用的字符编码工作方式:

在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。

用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件:

rw-file-utf-8

浏览网页的时候,服务器会把动态生成的Unicode内容转换为UTF-8再传输到浏览器:

web-utf-8

所以你看到很多网页的源码上会有类似的信息,表示该网页正是用的UTF-8编码。

参考:链接

SAP Workflow 工作流开发步骤总结 SAP WORKFLOW 阅读详情

相关推荐

C语言新手必练:10个实战小项目带你快速上手(附完整代码)

本文为C语言初学者精选10个实战项目,从基础的温度转换器到高级的迷宫求解算法,涵盖输入输出、条件判断、循环控制、数组操作等核心知识点。每个项目配有完整代码和详细解析,帮助新手通过实践掌握编程思维,特别适合刚学完语法但缺乏实战经验的学习者。

weixin_29208077的博客 746

字符编码

转自:http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386819196283586a37629844456ca7e5a7faa9b94ee8000 我们已经讲过了,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题。 因为计算机只能处理数字,如果要处理文本...

weixin_30642869的博客 279

Vivado新手避坑指南:搞懂Generate Output Products和Create HDL Wrapper到底在干啥

本文深入解析Vivado设计流程中的Generate Output Products和Create HDL Wrapper两大关键步骤,帮助新手理解其核心功能与操作要点。通过详细讲解文件生成类型、关键选项设置及常见问题解决方案,指导开发者正确使用这两个功能,避免设计流程中的常见错误,提高FPGA开发效率。

weixin_29207149的博客 311

ASCII码对照表

1、ASCII码 是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646 。在这个页面,你可以找到8位的256个字符、ASCII码表和Windows-1252 (code page 1252,它是国际标准ISO 8859-1的一个扩展字符集) 标准保持一致; 2、ASCII码 是 American Standard Code for Information Interchange 的缩写,而不是ASCⅡ(罗马数字2),有很多人在这个地方产生误解; 3、ASCII码 规范于1967年第一次发布,

weixin_45904557的博客 2万+

Arcgis填补栅格空缺值Nodata

Arcgis填补栅格空缺值Nodata

pass17的博客 1万+

Flink SQL数据血缘实战:如何用Calcite追踪字段级数据流向(附源码示例)

本文深入探讨了如何利用Apache Calcite解析Flink SQL执行计划,实现字段级数据血缘的追踪。通过扩展Calcite的元数据处理器,特别是针对Flink特有的Snapshot等节点,文章提供了从获取优化后的逻辑计划到提取并可视化血缘关系的完整实战方案,并附有核心源码示例,帮助开发者构建实时数仓的数据治理能力。

weixin_29032337的博客 142

Unicode与GB18030、GBK、GB2312

编码举例-先入为主: 䶮 Unicode:4DAE (CJK扩展A) Unicode PUA:E863(UTF-16BE) UTF-8:(EF BB BF) E4 B6 AE UTF-16BE:(FEFF) 4DAE UTF-16LE:(FFFE) AE4D UTF-32BE:(0000FEFF) 00004DAE UTF-32LE:(FFFE0000) AE4D0000 GB18030:FE9F GBK:FE9F GB2312:没有 㵥 Unicode:3D65 (CJK扩展A) UTF-8:(EF BB

x618x的博客 4652

动力锂电池-二阶RC模型等效电路-RLS参数辨识-Simulink

1.锂电池二阶RC等效电路模型

QQ1978009424的博客 1万+

3500个常用汉字及对应的Unicode编码

今天做测试数据用到了记录下 汉字清单 乙, 一, 乃, 丁, 卜, 刀, 九, 了, 七, 八, 厂, 儿, 二, 几, 力, 人, 入, 十, 又, 久, 丸, 丈, 乞, 乡, 勺, 刃, 亏, 凡, 卫, 亿, 亡, 叉, 川, 寸, 弓, 巾, 女, 尸, 士, 夕, 么, 万, 三, 上, 下, 与, 习, 也, 之, 义, 于, 个, 千, 及, 大, 飞, 干, 工, 广, 己, 已, 口, 马, 门, 山, 才, 土, 小, 子, 丰, 乏, 乌, 丹, 予, 丑, 勾, 勿, 匀, 厅,

我是jjking` 1万+

手把手教你用示波器抓取MIPI D-PHY波形:从LP11到HS Burst的完整信号解析

本文详细介绍了使用示波器精准捕获MIPI D-PHY信号的关键技巧,包括探头选择、示波器参数设置、信号状态解析及高级触发配置。通过实战案例和波形分析,帮助工程师快速识别从LP11到HS Burst的各种信号状态,解决常见的信号完整性问题,提升调试效率。

weixin_30471561的博客 561

Vivado报错-4 [Routed 35-3424] SLL Assignment failed ILP VU19P

Vivado报错[Routed 35-3424] SLL Assignment failed ILP VU19P

weixin_39896700的博客 1409

深入研究utf8编码和ascii编码

1.ASCII编码 ASCII编码是最简单的编码,只能用于英文编码,一个字节就是一个字符编码,如: 在Linux下面,一个test.txt文件的内容为: abc 123 对应的ASCII编码为: 97 98 99 10 49 50 51 10 在linux中,行尾结束符为 ASCII码的10(10进制数哦) 2.UTF8编码 UTF8编码是一个复杂的问题。 UTF-8

yangguangqizhi的博客 760

基于STM32设计的自动追光系统(项目资料ID:2)

基于STM32设计的自动追光系统主要由光敏采集电路、单片机核心板电路和步进电机控制电路构成。通过光敏电阻采集环境光强信息,经 STM32 单片机处理后,控制步进电机转动,实现对光源的自动追踪。该系统具有响应速度快、追踪精度较高等优点,可应用于太阳能发电、智能照明等领域,为相关场景提供高效的光资源利用方案。

以培养嵌入式工程师为己任 1万+

编码方式ASCII、Unicode和UTF-8的区别及联系

最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节。比如两个字节可以表示的最大整数是65535,4个字节可以表示的最大整数是4294967295。 由于计算机是美国人发明的,因此,最早只有127个字符被编码到计算机里,也就是大小写英文字母、数字和一些符号,...

Carey 552

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

并将网页编码方式改为unicode_帮你搞清ASCII、Unicode和UTF-8区别,拿走不谢

首先说一下背景:由于计算机是美国人发明的,因此最早只有127个字母被编码到计算机中,也就是大小写英文字母、数字和一些符号,这个编码表称为ASCII编码。例如:大写字母A的编码是65,小写字母z的编码时122。要处理中文,显然一个字节是不够的,至少需要两个字节,且不能和ASCII编码冲突,所以我国制定了GB2312编码,用于把中文编进去。可以想象,全世界上有上百种语言,日本把日文编写到Shift_J...

weixin_39988476的博客 1406

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

彻底搞清字符编码:ASCII、Unicode、UTF-8、GBK之间联系区别

马上投入工作了,今天在复习Class文件结构时,文中提到UTF-8缩略编码。之前对ASCII、UTF-8、Unicode等编码一直处在模糊状态,今天分享一下自己的学习心得。本着简单易懂的想法,写博客。 首先搞清为什么需要字符编码 在计算机内部,所有的信息都是使用0和1这样二进制字符串表示的。当我们需要把字符'A'存入计算机时,应该对应哪种状态呢,存储时,我们可以将字符'A'用01000010...

youngogo的博客 1700

Unicode、UTF-8、ASCII等编码方式浅述

关于编码问题,虽然在开发中经常用到,但是对于各种编码方式的实现、相互之间的转换、在实际场景中的使用区别等方面并没有深刻的理解。今天针对Unicode、UTF-8、ASCII、ANSI、GB2312/GBK、ISO8859-1等编码方式做一些解释和说明。 一、ASCII 首先从最基础的ASCII码开始说起。计算机真正的内部实现上,任何字符都是0和1的组合,那么ASCII码是最早是上世纪60年代的...

michaelgo的博客 657

ASCII,Unicode 和 UTF-8 (转)

以下内容转自http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html 字符编码笔记:ASCII,Unicode 和 UTF-8 作者:阮一峰 日期:2007年10月28日 今天中午,我突然想搞清楚 Unicode 和 UTF-8 之间的关系,就开始查资料。 这个问题比我想象的复杂,午饭后一直看到晚上9点,才算初步搞清楚。 下面就是我的笔记,主要用来整理自己的思路。我尽量写得通俗易懂,希望能对其他朋友有用。毕竟,字...

nichael99的专栏 244

字符编码笔记:ASCII,Unicode和UTF-8

转载自 http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html 作者: 阮一峰 日期: 2007年10月28日 今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。 结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。

cmoaciopm的专栏 1730

字符编码中ASCII、Unicode和UTF-8的区别

1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从00000000到11111111。 上个世纪60年代,美国制定了一套字符编码,对英语字...

daru9708的博客 255

字符编码笔记:ASCII,Unicode 和 UTF-8

转载自:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html 转载于:https://www.cnblogs.com/pyxz/p/9828558.html

weixin_30414155的博客 61

ASCII,Unicode、GB2312、UTF-8和UTF-16各种编码方式的起源

文章为博主日常学习之用,写下来也就等于多看了几遍,又深入想了一下,加深记忆。 有一次面试,面试官问我:UTF-8和UTF-16有什么区别? 内心OS:WHAT?那么刁钻的问题也问吗。然后简单地回答道:UTF-8使用一个字节编码,UTF-16使用两个字节编码。(不完全错,但是肯定没回答道点子上) 然后面试结果可想而知... 好了,那么UTF-8和UTF-16到底有什么区别呢?带着这个问题,我们来看看编码方式的发展过程。 1. ASCII 上世纪60年代,美国制定了一套字符编码,对英文字..

bluerheaven的博客 728

ASCII,Latin1,Unicode,UTF-8与GBK编码的区别

1.ASCII编码 ASCII码实现的是大小写英文字母,阿拉伯数字,及常用的标点符、运算符、控制字符(换行、删除等)和通信字符(文头、确认等)与计算机编码之间的对应。ASCII编码采用单字节(8 Bit)存储,实际数据存储空间是7 Bit,最高位的1 Bit是奇偶校验位。 ASCII编码对于英语国家足够用了,但是却无法表达非英语国家字符到计算机编码之间的映射,如中文汉字、法语字母等。所以,出现...

BLGT_57的博客 1万+

Unicode与utf-8的区别

彻底弄清unicode与utf-8的区别在弄清unicode与utf-8的区别之前先介绍一下字符串编码1.ASCII编码2.GB2312编码与其他编码3.unicode编码新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 在

while_tft的博客 701

ASCII、Unicode和UTF-8

拜读 阮一峰关于ASCII、Unicode和utf-8的关系 加上各种查询内容,决定把个人的理解记录下来 Ascii:** Ascii是一种英文的编码方式,采用一个字节,一个字节8个bit,最左边一位为空,所以用7个bit位表示数据,共计128个子元,其中33个字元无法显示。ASCII的局限在于只能显示26个基本拉丁字母、阿拉伯数目字和英式标点符号,因此只能用于显示现

wjfzzhxy的专栏 876

Ansi,UTF8,Unicode,ASCII编码的区别

近日需要不同的编码,关于上述编码,一直迷迷糊糊,查了些资料,总算大致了解了,下面全是从网上搜来的:1.  ASCII和Ansi编码    字符内码(charcter code)指的是用来代表字符的内码.读者在输入和存储文档时都要使用内码,内码分为     单字节内码 -- Single-Byte character sets (SBCS),可以支持256个字符编码.     双字节内码 --

xiongxiao的专栏 8万+

编码方式 / ASCII、UNICODE、UTF-8、ANSI

一、ASCII 全称:American Standard Code for Information Interchange。 占用一个字节。 共可以表示128个字符,因为最前面那一位始终为0。 程序员必背: 字符 ASCII码 ‘0’ 48 ‘A’ 65 'a' 97 二、UNICODE (Universal Code) Uni...

布袋和尚 719
上一篇: 微步在线【威胁情报】
下一篇: 渗透测试笔试面试题目汇总
Bulldozer++
博客等级 码龄8年 9178粉丝 89原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bulldozer++

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值