常用编码方式有哪些

常用编码方式分为两类:一、音视频编码;二、字符集编码。音视频编码主要有:1、非压缩编码(PCM);2、压缩编码。字符集编码有:1、ASCII码;2、GB2312;3、GBK等。非压缩编码(PCM)是指,一种将模拟语音信号变换为数字信号的编码方式。

常用编码方式有哪些-Worktile社区

一、音视频编码

音频数字化主要有压缩与非压缩两种方式。较早出现的数字音频播放机,如CD唱机和DAT录音机,均采用线性PCM编码来存储音乐信号,为非压缩方式。在高质量要求的音频工作站和数字录像机(如DVCPRO)上,也采用非压缩的格式。我们常见的MPEG、Dolby Digital、DTS等则为压缩方式。压缩分为有损压缩和无损压缩。有损压缩的目的是提高压缩率,降低占用系统资源。可以根据实际需要选用不同的采样速率、样本分辨率(精度)和数据率。

1、非压缩编码(PCM)

PCM(脉冲编码调制)是一种将模拟语音信号变换为数字信号的编码方式。主要经过3个过程:抽样、量化和编码。抽样过程将连续时间模拟信号变为离散时间、连续幅度的抽样信号,量化过程将抽样信号变为离散时间、离散幅度的数字信号,编码过程将量化后的信号编码成为一个二进制码组输出。

2、压缩编码

PCM虽然为无损压缩,但由典型的音频信号表示的信号特性没有达到优异,也没有很好的适应人耳听觉系统的特定要求。PCM的数据量过高,从而造成存储和传输方面的障碍,因此必须使用相应的技术降低数字信号源的数据率,又尽可能不对节目造成损伤,这就是压缩技术。

二、字符集编码

1、ASCII码

ASCII码是7位编码,编码范围是0x00-0x7F。ASCII字符集包括英文字母、阿拉伯数字和标点符号等字符。其中0x00-0x1F和0x7F共33个控制字符。只支持ASCII码的系统会忽略每个字节的较高位,只认为低7位是有效位。HZ字符编码就是早期为了在只支持7位ASCII系统中传输中文而设计的编码。早期很多邮件系统也只支持ASCII编码,为了传输中文邮件必须使用BASE64或者其他编码方式。

2、GB2312

它的全称是《信息交换用汉字编码字符集基本集》,它是双字节编码,总的编码范围是A1-F7,其中从A1-A9是符号区,总共包含682个符号,从B0-F7是汉字区,包含6763个汉字。

3、GBK

全称叫《汉字内码扩展规范》,是国家技术监督局为windows95所制定的新的汉字内码规范,它的出现是为了扩展GB2312,加入更多的汉字,它的编码范围是8140~FEFE(去掉XX7F)总共有23940个码位,它能表示21003个汉字,它的编码是和GB2312兼容的,也就是说用GB2312编码的汉字可以用GBK来解码,并且不会有乱码。

4、GB18030

全称是《信息交换用汉字编码字符集》,是我国的强制标准,它可能是单字节、双字节或者四字节编码,它的编码与GB2312编码兼容,这个虽然是国家标准,但是实际应用系统中使用的并不广泛。

5、UTF-16

说到UTF必须要提到Unicode(UniversalCode统一码),ISO试图想创建一个全新的超语言字典,世界上所有的语言都可以通过这本字典来相互翻译。可想而知这个字典是多么的复杂,关于Unicode的详细规范可以参考相应文档。Unicode是Java和XML的基础,下面详细介绍Unicode在计算机中的存储形式。

UTF-16具体定义了Unicode字符在计算机中存取方法。UTF-16用两个字节来表示Unicode转化格式,这个是定长的表示方法,不论什么字符都可以用两个字节表示,两个字节是16个bit,所以叫UTF-16。UTF-16表示字符非常方便,每两个字节表示一个字符,这个在字符串操作时就大大简化了操作,这也是Java以UTF-16作为内存的字符存储格式的一个很重要的原因。

6、ISO-8859-1

128个字符显然是不够用的,于是ISO组织在ASCII码基础上又制定了一些列标准用来扩展ASCII编码,它们是ISO-8859-1~ISO-8859-15,其中ISO-8859-1涵盖了大多数西欧语言字符,所有应用的较广泛。ISO-8859-1仍然是单字节编码,它总共能表示256个字符。

7、UTF-8

UTF-16统一采用两个字节表示一个字符,虽然在表示上非常简单方便,但是也有其缺点,有很大一部分字符用一个字节就可以表示的现在要两个字节表示,存储空间放大了一倍,在现在的网络带宽还非常有限的今天,这样会增大网络传输的流量,而且也没必要。而UTF-8采用了一种变长技术,每个编码区域有不同的字码长度。不同类型的字符可以是由1~6个字节组成。UTF-8有以下编码规则:

  • 如果一个字节,较高位(第8位)为0,表示这是一个ASCII字符(00-7F)。可见,所有ASCII编码已经是UTF-8了。
  • 如果一个字节,以11开头,连续的1的个数暗示这个字符的字节数,例如:110xxxxx代表它是双字节UTF-8字符的首字节。
  • 如果一个字节,以10开始,表示它不是首字节,需要向前查找才能得到当前字符的首字节。

延伸阅读

常见ASCII码的大小规则

  • 数字比字母要小。如 “7”<“F”;
  • 数字0比数字9要小,并按0到9顺序递增。如 “3”<“8” ;
  • 字母A比字母Z要小,并按A到Z顺序递增。如“A”<“Z” ;
  • 同个字母的大写字母比小写字母要小32。如“A”<“a” 。

文章标题:常用编码方式有哪些,发布者:Z, ZLW,转载请注明出处:https://worktile.com/kb/p/34496

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Z, ZLWZ, ZLW认证作者
上一篇 2023年1月5日 下午9:45
下一篇 2023年1月5日 下午10:12

相关推荐

  • 加密的六个好处有哪些

    加密的六个好处:1、加密有助于维护数据完整;2、加密有助于组织恪守规定;3、加密可跨设备保护数据;4、加密在将数据移动到云存储时有帮助;5、加密有助于组织保证办公室的安全;6、数据加密可保护知识产权。 加密的六个好处 1、加密有助于维护数据完整 黑客不止偷窃信息;他们也可以更改数据来进行诈骗。虽然熟…

    2022年11月3日
    1.4K00
  • Java不能实现真正泛型的原因是什么

    Java不能实现真正泛型的原因是:1、兼容性;2、不是“实现不了”。兼容性是指Java 在 2004 年已经积累了较为丰富的生态,如果把现有的类修改为泛型类,需要让所有的用户重新修改源代码并且编译,这就会导致 Java 1.4 之前打下的江山可能会完全覆灭。 1、兼容性 Java 在 2004 年已…

    2023年1月30日
    39800
  • 如何训练ChatGPT以改进其性能

    本文探讨了如何提高ChatGPT性能,主体答案概括为利用精细化数据预处理、优化训练算法、实施持续性学习与反馈调整,以及使用多模态数据集进行训练。精细化数据预处理包括数据清洗和来源多样化;优化训练算法强调模型架构的改进和参数调优;持续性学习侧重于模型在实际交互后的自我更新;而多模态数据集训练则关注于提…

    2023年11月28日
    30800
  • 什么是深度学习

    深度学习是机器学习领域中的一个子领域,它通过模拟人脑的神经网络结构,处理和分析大量数据。这种技术的核心是深度神经网络,通常含有多个隐藏层,能够从数据中学习复杂的模式和表示。它在图像识别、自然语言处理、声音识别等众多领域都取得了突破性的成果。 深度学习是机器学习领域中的一个子领域,它通过模拟人脑的神经…

    2023年7月30日
    52100
  • 比较好的oa系统

    一个高质量的OA系统通过能提升工作效率、增进通信顺畅、增强数据安全三大核心优势,成为企业运作的神经中枢。其中,增强数据安全是尤为重要的,因为它确保了信息的保密性、完整性和可用性,对抵御外部威胁和内部错误漏洞起着至关重要的作用。 一、能提升工作效率 办公自动化系统(OA System)的设计初衷在于提…

    2024年1月11日
    14900
  • Java抽象类是如何产生的,有哪些特点

    Java抽象类是在面向对象编程中,对共享特征和行为的抽象化表达而产生的。这种类无法被实例化,通常用于构架类的继承体系和提供通用功能。主要特点包括:1、包含抽象方法,这些方法没有具体实现,仅定义方法签名;2、可包含具体成员和成员方法,可以被子类继承和使用;3、不能被实例化,只能作为基类;4、当子类继承…

    2023年11月16日
    15600
  • jira怎么创建子任务

    jira创建子任务的步骤:一、打开JIRA;二、打开主任务;三、创建子任务;四、填写子任务信息;五、保存子任务;六、查看子任务。首先,打开JIRA并登录到您的帐户。在JIRA的主页上,可以看到所有的项目。选择想要创建子任务的项目。 一、打开JIRA 首先,打开JIRA并登录到您的帐户。在JIRA的主…

    2023年3月31日
    1.7K00
  • 什么是产品管理

    产品管理是对产品、产品线乃至产品组合的整个生命周期中,对产品规划、设计、开发、生产、营销、销售等各环节所实施的管理活动。产品管理的主要目标是维持客户满意度以及实现持久竞争优势。 1.产品管理的概念 产品管理是指企业或组织通过采取一系列的措施、手段和方法,对产品、产品线和产品组合的整个生命周期实施的整…

    2022年11月16日
    1.3K00
  • 学习devops有什么反应

    学习DevOps可触发多个层面的变革,这包括提升软件交付效率、加强团队间协作、促进持续改进文化、提升服务可靠性和加速产品上市速度。一、提高软件交付效率;二、促进团队协作;三、培育持续改进文化;四、增强服务可靠性;五、加快产品上市速度。 其中,提高软件交付效率是学习DevOps能实现的核心益处之一。 …

    2024年3月26日
    1200
  • 产品管理中的市场趋势分析如何进行

    市场趋势分析在产品管理领域扮演关键角色,能助力产品团队深刻理解行业动态、消费者需求及竞争环境。1、收集和分析行业数据、2、识别消费者行为变化、3、监控竞争对手活动、4、采用技术工具进行数据分析、5、结合宏观经济因素评估影响。特别突出的是消费者行为变化,其直接影响产品功能的优化与创新,对实现产品与市场…

    2024年1月19日
    16900

发表回复

登录后才能评论
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部