首页 > 其他分享 >字符编码

字符编码

时间:2023-12-05 19:48:53浏览次数:30  
标签:编码 英文 数字 字符 unicode ASCII

字符编码

【1】阶段一:一家独大(ASCII)

(1)ASCII表的诞生

  • 现代计算机起源于美国,所以最先考虑仅仅是让计算机识别英文字符,于是诞生了ASCII表

(2)ASCII表的特点

  • 只有英文字符与数字的一一对应关系
  • 一个英文字符对应1Bytes,1Bytes=8bit,8bit最多包含256个数字,可以对应256个字符,足够表示所有英文字符

(3)字母对应ASCII表

  • A-Z : 65-90
  • a-z : 97-122
  • 0-9 : 48-57
  • 小写字母对应的数字一定大于大写字母

【2】阶段二:诸侯割据(ASCII/GBK/Shift_JIS)

  • 为了让计算机能够识别中文和英文,中国人定制了 GBK

(1)GBK表的特点

  • 只有中文字符、英文字符与数字的一一对应关系
  • 一个英文字符对应1Bytes 一个中文字符对应2Bytes
  • 补充说明
    • 1Bytes=8bit,8bit最多包含256个数字,可以对应256个字符,足够表示所有英文字符
    • 2Bytes=16bit,16bit最多包含65536个数字,可以对应65536个字符,足够表示所有中文字符

(2)各国不同的编码表

  • 为了让计算机能够识别日文字符、英文字符与数字的一一对应关系,日本定制了 Shift_JIS
  • 为了让计算机能够识别韩文字符、英文字符与数字的一一对应关系,韩国定制了 Euc-kr
  • 美国人用的计算机里使用字符编码标准是ASCII
  • 中国人用的计算机里使用字符编码标准是GBK
  • 日本人用的计算机里使用字符编码标准是Shift_JIS

【3】阶段三:一统天下(unicode)

  • unicode于1990年开始研发,1994年正式公布

(1)unicode的特点

  • 存在所有语言中的所有字符与数字的一一对应关系,即兼容万国字符
  • 与传统的字符编码的二进制数都有对应关系,详解如下
    • 很多地方或老的系统、应用软件仍会采用各种各样传统的编码,这是历史遗留问题。
    • 此处需要强调:软件是存放于硬盘的,而运行软件是要将软件加载到内存的,面对硬盘中存放的各种传统编码的软件,想让我们的计算机能够将它们全都正常运行而不出现乱码,内存中必须有一种兼容万国的编码,并且该编码需要与其他编码有相对应的映射/转换关系,这就是unicode的第二大特点产生的缘由

(2)字符的存储

  • 文本编辑器输入任何字符都是最新存在于内存中,是unicode编码的
    • 存放于硬盘中,则可以转换成任意其他编码,只要该编码可以支持相应的字符
  • 英文字符可以被ASCII识别
    • 英文字符--->unciode格式的数字--->ASCII格式的数字
  • 中文字符、英文字符可以被GBK识别
    • 中文字符、英文字符--->unicode格式的数字--->gbk格式的数字
  • 日文字符、英文字符可以被shift-JIS识别
    • 日文字符、英文字符--->unicode格式的数字--->shift-JIS格式的数字

标签:编码,英文,数字,字符,unicode,ASCII
From: https://www.cnblogs.com/banchengyanyu/p/17877984.html

相关文章

  • template包 字符串函数
    字符串函数https://blog.gmem.cc/gotpl函数说明abbrev缩写参数,超出的字符以...代替。例如 abbrev 5 "helloworld"输出 he...abbrevbothabbrevbothNSTR:从双侧缩写trunctruncNSTR:截断到指定长度trim去除空白trimAlltrimAllTSTR:去除所有指定......
  • HTML学习笔记七:html-字符实体和全局属性
    HTML学习笔记七:html-字符实体和全局属性MDN元素查询地址所有的html的元素我们都可以通过以下地址进行相关的查询和理解。https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/meta字符实体用特定代码来表示一个符号,即为字符实体。字符实体格式:以&开头以;结尾......
  • RK3568,字符设备框架:管理同主设备号、不同次设备号设备
    字符设备框架:管理同主设备号、不同次设备号设备以下代码针对迅为开发板RK3568,开发板系统是ubuntu20.04,正文以下是我写的字符设备框架,实现了管理同主设备号、不同次设备号的功能。代码:private_data_test.c#include<linux/init.h>#include<linux/module.h>#include<linux......
  • 代码随想训练营第五十六天(Python)| 583. 两个字符串的删除操作、72. 编辑距离
    583.两个字符串的删除操作classSolution:defminDistance(self,word1:str,word2:str)->int:n,m=len(word1),len(word2)#dp数组代表使得word1以i-1结尾和word2以j-1结尾相同的最小步数dp=[[0]*(m+1)for_inrange(n+......
  • Java 时间戳与格式化字符串互转
    直接看代码:importjava.text.SimpleDateFormat;importjava.util.Date;publicclassTimestamp2DateFormatUsage{publicstaticvoidmain(String[]args){System.out.println("当前时间:"+timestampToFormatDatetime());System.out.printl......
  • java字符串 加上n个"|--",与过滤处理
    /******original,左边扩充n个"-"*@paramn*@paramoriginal*@return*/privateStringfullStr(intn,Stringoriginal){StringBuildersb=newStringBuilder();for(inti=0;i<n;i++){......
  • 神秘文字的编码与变体
    一、火星文的起源与演变火星文,是一种源于台湾地区的网络文字。它由同音字、注音符号、拼成样子的字母等非正规化文字符号组合而成。乍看之下,火星文像是乱码或打错的字,用法也不同于汉字那么规范。那么,这种看似杂乱无章的文字是如何编码和演变出来的呢?火星文生成器--一个覆......
  • 划时代!Eclipse AI编码新方式——Copilot4Eclipse即将发布
    在本月早些时候,MyEclipse官方宣布了将于本月晚些时候发布全新插件Copilot4Eclipse,它是同类型插件中的第一个,能帮助开发者直接在EclipseIDE中无缝地使用GitHubCopilotAI编码辅助。MyEclipse一次性提供了巨量的Eclipse插件库,无需学习任何新的开发语言和工具,便可在一体化的IDE下......
  • python中级之字符编码
    小引字符编码(CharacterEncoding)是计算机显示文本的基础,是每一位IT从业者必知的计算机基础知识点,如同数值在计算中如何存储表示,那么基础,那么重要。参考笔记字符编码笔记:ASCII,Unicode和UTF-8-阮一峰的网络日志(ruanyifeng.com)各种编码UNICODE、UTF-8、ANSI、ASCII、G......
  • 【python入门之文字符编码】---字符编码
    简介计算机中储存的信息都是用二进制数表示的;而我们在屏幕上看到的英文、汉字等字符是二进制数转换之后的结果。通俗的说,按照何种规则将字符存储在计算机中,如’a’用什么表示,称为"编码";反之,将存储在计算机中的二进制数解析显示出来,称为"解码",如同密码学中的加密和解密。在解码过......