计算机中常用的编码有哪几种,什么是计算机编码?常用的编码有哪些
其实计算机编程离不开编码。
但是大部分都不能真正理解各种代码。
今天就来熟悉几个编码员吧。
一、字符、字符集和字符编码字符:字符是最小的抽象文本单位。它没有固定的形状(可能是字形),没有价值。“A”是一个字符,“”(德国、法国等许多欧洲国家通用货币的符号)也是一个字符。“中”和“过”是两个汉字。一个字符只代表一个符号。
字符集:即某个符号与某个数字的映射关系表,即确定107是口杯的‘k’,21475是口口相传的‘口’。不同的表有不同的映射关系,比如ascii、gb2312、Unicode(注意UTF-8不是字符集)。通过这个数字和字符的映射表,我们可以将二进制数转换成
字符编码:比如应该是“口”的数字21475,我们用\u5k3e3还是“口”?这是由字符编码决定的。UTF-8指的是字符的编码。
二。各种常见代码ASCII码的详细说明:
在计算机中,所有的数据在存储和运算时都要用二进制数来表示(因为计算机用高电平和低电平分别表示1和0)。比如A、B、C、D这样的52个字母(包括大写字母),0、1这样的数字,以及一些常用的符号(比如*、#、@等。)在计算机中存储时也应该用二进制数来表示,具体当然是每个人可以约定自己的一套(这叫编码),而如果每个人都想互相交流而不引起混乱,那么每个人都必须使用相同的编码规则,所以美国的相关标准化组织推出了ASCII编码,统一规定用哪些二进制数来表示上述常用符号。
ASCII码使用7位或8位二进制数的指定组合来表示128或256个可能的字符。标准ASCII码,也叫基本ASCII码,用7位二进制数(剩下的1位是0)来表示所有大小写字母、数字0到9、标点符号以及美式英语中使用的特殊控制字符[1]。其中包括:
0 ~ 31和127(共33个)为控制字符或通信专用字符(其余为可显示字符),如控制字符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等。用于通信的特殊字符:SOH(开始)、EOT(结束)、ACK(确认)等。ASCII值8、9、10和13分别被转换为退格、制表符、换行符和回车符。它们没有具体的图形显示,但是根据不同的应用会对文本显示产生不同的效果[1]。
2 ~ 126(共95个)为字符(32为空格),其中48 ~ 57为从0到9的十个阿拉伯数字。
60 ~ 90是26个大写英文字母,97 ~ 122是26个小写英文字母,其余是一些标点符号、操作符号等。
GB2312/GBK码:
GBK采用单双字节变长编码,英文采用单字节编码,完全兼容ASCII字符编码,中文采用双字节编码。
GBK用双字节表示,整体编码范围是8140-FEFE,第一个字节在81-FE之间,最后一个字节在40-FE之间,不包括一行xx7F。共23940码位,包括21886个汉字和图形符号,其中汉字(包括偏旁部首和部件)21003个,图形符号883个。
用GB2312编码的汉字可以用GBK解码,不会出现乱码。
Unicode:
Unicode是一种编码方案。Unicode的出现是为了解决传统字符编码方案的局限性。它为每种语言中的每个字符设置了统一的、唯一的二进制代码,以满足跨语言、跨平台的文本转换和处理的要求。Unicode的具体实现有三种,分别是utf-8、utf-16和utf-32,其中UTF-8占一到四个字节,UTF-16占两到四个字节,UTF-32占四个字段。目前,Unicode编码在全世界的信息交换领域被广泛使用。
因为一个1位二进制数可以表示(21=)两种状态:0和1;而2位二进制数可以表示(22)=4种状态:00,01,10,11;以此类推,7位二进制数可以表示(2 ^ 7=)128个状态,每个状态唯一编码为7位二进制码,对应一个字符(或控制码)。这些代码可以排列成从0到127的十进制序列号。所以7位ASCII码是用7位二进制数编码的,可以代表128个字符。
0 ~ 32号和127号(共34个)为控制字符或特殊通信字符,如控制字符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BEL(振铃)等。用于通信的特殊字符:SOH(前缀)、EOT(后缀)、ACK(确认)等。
ISO-8859-1:
ASCII码,总共有128个字符,但是128个字符显然不够。所以ISO组织制定了一些基于ASCII码的栏目标准来扩展ASCII码。分别是ISO-8859-1~ISO-8859-15,其中ISO-8859-1涵盖了大部分西欧语言字符,并且都是使用最广泛的。ISO-8859-1仍然是单字节代码,总共可以表示256个字符。GB2312
它的全称是《信息交换用汉字编码字符集 基本集》,是一个双字节代码。总编码范围为A1-F7,其中A1-A9为符号区,共包含682个符号,B0-F7为汉字区,共包含6763个汉字。
以上是计算机编程中几种常见代码的详细讲解。
如果你想知道最常见的GBK编码和UTF-8编码之间的区别,以及它们各自的用途?
有关详细信息,请参见以下文章:
GBK编码和UTF-8编码的区别
【Java Web】相关技术文章:
【Java Web概要】的功能。类路径,我的元数据和。Java Web项目中的项目文件
[Java Web问题解决] Tomcat报告了错误javax.servlet.servletException:实例化ServletClass时出错。报告了错误404。
【对比】什么是“服务器端跳转”和“客户端跳转”,两者有什么区别?
【概要】表单提交的get和post有什么区别?
[Java Web问题解决] Tomcat报告错误:Java . lang . classcastexception:cannot be cast to javax.servlet.Filter解决办法
【Java Web问题解决】过滤器初始化方法init()执行了两次。原因和解决方案
【概要】Java Web中的四个属性范围(页面、请求、会话、应用)
[Java Web问题解决] Tomcat报告了一个错误:java.sql.sqlexception:没有为JDBC找到合适的驱动程序:mysql://
【Java Web问题解决】解决Tomcat启动时控制台出现中文乱码的问题。
【示例项目】java实现身份证号识别籍贯。
【概要】HTTP协议中的状态码(200、403、404、500等。)
【Java Web问题解决】提交表单后,显示乱码的原因及解决方法。
【Java Web Summary】JSP页面生命周期的详细解释
【Java Web Summary】JSP页面实现类详解
[Java Web问题解决] Tomcat启动失败并报告错误:位于localhost的服务器Tomcat v9.0 server启动失败。
[Java Web问题解决]连接到数据库时出错:java.sql.sqlexception:未找到适用于JDBC的驱动程序:MySQL://localhost: 3306/
【Java Web问题解决】提交表单后使用Filter过滤器解决乱码问题。
【Java Web问题解决】filter过滤器过滤代码后页面空白不显示的原因及解决方法
【Linux操作系统】相关技术文章:
【Linux问题解决】Ubuntu Linux安装gcc4.9 g 4.9出现错误“无候选安装”解决方案。
【Linux教程】Ubuntu Linux源码替换教程
【Linux教程】如何在Ubuntu Linux和windows之间复制粘贴拖动文件?
【Linux问题解决】操作系统使用C语言多线程编程,解决了对‘pthread _ create’未定义引用报错的问题
【Linux教程】Linux中C语言多线程编程的pthread_join()函数
【Linux操作系统,C语言】Linux下C语言OpenMP并行编程的常用指令、库函数及指令摘要
【VMware虚拟机问题解决方案】VMware Workstation pr无法在Windows上运行的解决方案
【Linux问题解决】Ubuntu执行apt-get命令并报错:无法获取lock /var/lib/dpkg/lock…解。
【Python】相关技术文章:
【概要】Python与C语言、Java等语言在基本语法上的区别。
【概要】解析Python中的循环技巧
【概要】Python是编译语言还是解释语言?(Python程序执行过程)
【概要】Python2和Python3的区别
用Python一层循环打印*形三角形
【概要】Python与C语言、Java等语言在基本语法上的区别。
【概要】你知道吗?3354元组其实是可变序列!
【Python爬虫教程】Python爬虫基本流程及相关技术支持
[Python问题解决PyCharm中的调试错误:未找到使用cython。pydev调试器:进程13108正在连接原因和解决方案
闭包及其应用
【IntelliJ IDEA教程】相关技术文章:
【Intellij IDEA教程】如何自动清除无效导入包以及清除无效导入包的快捷键?
【IntelliJ IDEA教程】启动项目警告:Java:IntelliJ IDEA中的Source value 1.5已经过时,该解决方案将在以后的所有版本中被移除。
[IntelliJ IDEA教程]提示找到未映射的Spring配置文件。请配置Spring Facet。解决办法
【IntelliJ IDEA教程】如何取消IntelliJ IDEA对单词拼写的检查?
【Jupyter笔记本教程】相关技术文章:
【Python教程】Jupyter Notebook将一段很长的代码分成多行的解决方案】
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。