当前位置: 首页 > article >正文

深入解析FLAC与APE:无损音频格式的技术差异与应用场景

1. 从“听个响”到“听细节”为什么我们需要无损音频不知道你有没有这样的经历几年前用手机随便听听歌觉得128kbps的MP3已经很满足了。后来偶然间在朋友家或者某个展会上用一套不错的耳机或音响听了一首所谓的“无损”音乐那一瞬间的感觉就像是有人把你耳朵里一直塞着的那层薄纱给拿掉了。乐器的分离度、人声的细节、低频的弹性一切都变得清晰而生动。从那一刻起你可能就再也回不去了。这就是无损音频的魅力。我们日常接触的MP3、AAC都属于“有损压缩”。它们的工作原理很聪明但也很“残酷”利用人耳的听觉特性比如“掩蔽效应”一个很响的声音会盖住同时出现的较弱声音把那些理论上你“听不到”的声音数据直接扔掉。这样一来文件体积是大大缩小了但音乐的“血肉”和“细节”也被一并丢弃了。就像一张高精度照片被过度压缩成了表情包轮廓还在但所有的质感、光影层次都没了。而无损压缩代表的正是对原始声音的绝对忠诚。它的目标是在压缩文件体积的同时百分之百、一个比特都不差地保留原始音频数据。最常见的原始音频是CD抓轨得到的WAV文件你可以把它想象成一座由无数“0”和“1”堆砌起来的、完整的声音大厦。无损压缩格式如FLAC和APE的作用就是用更高效的“建筑图纸”来描述这座大厦让图纸的体积比大厦的一砖一瓦清单小很多但只要你按图纸施工重建出来的大厦和原来一模一样。所以当你从一个音乐爱好者进阶为“发烧友”开始追求更极致的聆听体验时无损音频就成了必经之路。而在无损音频的世界里FLAC和APE是两位绕不开的“元老”。它们都承诺“无损”但背后的技术路径、脾气秉性却大不相同直接影响了我们的使用体验。今天我就结合自己折腾音乐库十多年的经验带你深入看看这两位“老将”的内核到底有什么不同以及在实际生活中我们到底该怎么选。2. 技术内核揭秘FLAC与APE的“编码哲学”别看FLAC和APE最终都能实现无损还原但它们俩的“工作思路”可以说是截然不同。理解这一点是搞懂它们所有差异的关键。2.1 FLAC追求稳健与效率的“工程师”FLAC全称Free Lossless Audio Codec顾名思义它生来就带着“自由”和“无损”的基因。它的设计哲学非常清晰在保证绝对无损的前提下优先追求解码的简单、快速和稳健。FLAC的编码过程可以理解为一种“预测修正”的模式。它不会直接存储每一个采样点的原始数据而是先尝试用一套数学公式预测器去“猜”下一个采样点的值然后只存储“猜测值”和“真实值”之间的差值也叫残差。由于音频信号具有连续性这种差值通常很小可以用更少的比特来表示从而实现压缩。更重要的是FLAC在整个过程中只使用整数运算。这是它最精妙的设计之一。我举个例子你就明白了。整数运算就像你用算盘做加减乘除每一步的结果都是确定的整数。而浮点运算则像用计算器处理带小数点的复杂科学计算虽然精度高但计算步骤更复杂对硬件的要求也更高。FLAC坚持只用整数运算意味着它的解码过程对CPU的计算能力要求极低。十几年前的老MP3播放器、现在的智能电视、车载主机甚至一些嵌入式设备都能轻松、实时地完成FLAC解码几乎不会出现因为算力不足导致的卡顿。这种“接地气”的设计为FLAC日后广泛的硬件兼容性打下了坚实的基础。2.2 APE追求极限压缩比的“竞技者”APE出自Monkey‘s Audio猴子音频这款软件它的目标非常单纯且极致在无损的前提下实现最高的压缩比也就是把文件压到最小。APE采用的是一种基于“上下文建模”和“熵编码”的复杂算法。简单来说它会非常精细地分析音频数据中各种数值出现的概率分布然后给出现概率高的数据分配短的码字给概率低的分配长的码字。这种思路类似于我们常用的ZIP压缩但针对音频信号做了大量优化因此压缩效率更高。为了实现更高的压缩率APE的算法中大量使用了浮点运算。浮点运算能提供极高的计算精度帮助算法做出更精细的概率预测从而进一步“挤”掉文件中的冗余信息。但凡事都有代价。复杂的浮点运算就像让设备进行一场持续的高强度数学竞赛对处理器的计算能力提出了更高的要求。在十几年前电脑CPU还比较孱弱的时代播放高压缩等级的APE文件经常会导致CPU占用率飙升甚至出现播放不流畅的情况。这种“高冷”的技术路线也为其后来的发展埋下了伏笔。一个生动的类比你可以把FLAC想象成一个用标准化图纸、预制件盖房子的建筑队讲究的是施工速度快、出错率低任何工人都能看懂图纸。而APE则像一个追求极致空间利用率的室内设计师他用非常复杂的图纸把每个角落都利用到毫米但这份图纸只有资深老师傅才能看懂施工速度也慢。两者都能完美还原房子但过程和适用场景完全不同。3. 实战性能大比拼速度、容错与兼容性理论说再多不如实际跑一跑。下面我们就从几个直接影响用户体验的维度来一场FLAC和APE的正面较量。3.1 压缩与解压效率的拉锯战在压缩比上APE确实略胜一筹。根据我多年的实测和大量网友的反馈同一首WAV文件用APE的“High”或“Extra High”级别压缩得到的文件体积通常会比FLAC默认级别小5%-10%。别小看这百分之几对于一个拥有几百张专辑、几个TB的音乐库来说节省的空间是相当可观的。这也是早期网络带宽和存储设备都昂贵时APE在发烧友圈内流行的重要原因——能用更小的空间存更多的“无损”。然而在速度方面形势就完全逆转了。FLAC在编码压缩和解码播放速度上对APE拥有压倒性优势。编码时FLAC的速度通常比APE快2倍甚至更多。解码也就是播放时FLAC的优势更为关键。由于它简单的整数运算解码其解码速度比APE快大约30%-50%。这意味着在同样的硬件上播放FLAC文件更加游刃有余系统资源占用更低发热更小对电池供电的移动设备来说这意味着更长的续航。我自己的踩坑经历就很能说明问题。早些年我把很多CD转成了APE格式放在一台老旧的NAS里用网络播放器来听。每当播放高压缩级别的APE文件时播放器偶尔就会“思考人生”出现短暂的卡顿。后来我批量将其转换成了FLAC同样那台播放器再也没有出现过任何问题曲目切换也变得行云流水。这个教训让我明白对于播放环节解码效率的优先级远高于那一点存储空间的节省。3.2 容错能力谁更“抗造”这是一个容易被忽略但极其重要的指标。我们存储文件的硬盘、U盘或者通过网络传输都有可能发生微小的数据错误。对于有损格式如MP3错一点可能只是轻微爆音或杂音。但对于无损格式一个比特的错误都可能导致解码器“懵掉”。FLAC在这方面展现出了“工程师”的稳健。它在文件结构中内置了强大的帧校验机制。如果文件局部损坏FLAC解码器有能力检测到错误并直接跳过损坏的帧用静音替代然后继续播放后续完好的部分。你可能会听到瞬间的“无声”但音乐很快会接上整体聆听体验不会完全崩溃。APE的容错机制就比较脆弱了。它的设计更侧重于压缩流的连续性。一旦数据流中出现错误解码器很可能无法同步导致从错误点开始后续的音乐全部无法解码播放直接中断。更糟糕的情况下整个文件都可能报废。我早年从网上下载的一些APE合集就遇到过因为一个文件损坏导致整张专辑都无法播放的窘境修复起来非常麻烦。3.3 硬件与软件兼容性生态的胜利如果说技术是内功那兼容性就是外功决定了哪种格式能走得更远。在这方面FLAC取得了压倒性的胜利。硬件方面FLAC是目前被硬件支持最广泛的无损格式没有之一。从高端Hi-Fi数字播放器、流媒体播放机、AV功放到普通的车载音响、蓝牙解码耳放甚至一些智能电视和游戏机都能看到对FLAC的原生支持。而APE由于其解码复杂度高除了少数国产老款播放器和一些基于特定芯片的方案外在主流硬件设备上几乎难觅踪影。你想在车里听自己收藏的APE音乐很可能需要先转换成FLAC或WAV。软件与系统层面FLAC同样是赢家。它几乎被所有主流操作系统和播放软件原生支持。Windows、macOS、Linux自带的媒体播放器都能直接播放FLAC。反观APE它更像是一个“Windows时代的宠儿”。在Windows上你需要安装解码器或使用像Foobar2000这样内置了解码器的播放器。在macOS和Linux上原生支持更差通常需要额外安装插件。在移动端情况也类似FLAC是安卓和许多第三方iOS播放器的标准支持格式而APE则需要寻找特定的、支持格式更全的App。元数据支持FLAC对元数据Metadata的支持非常完善和标准内嵌的Vorbis Comment标签可以轻松存储专辑、艺术家、年份、封面图片等信息并且被各类音乐管理软件如MusicBee、Roon完美识别和管理。APE也支持标签但它的实现相对非标有时会出现兼容性问题比如在某些设备上封面不显示。4. 应用场景与选择指南没有最好只有最合适了解了这么多技术细节到底该怎么选呢我的观点是脱离使用场景谈优劣都是耍流氓。下面我结合几种典型场景给你最直接的建议。4.1 场景一个人音乐库的长期归档与管理如果你和我一样喜欢自己抓取CD或者购买数字音乐建立一个私人音乐库那么FLAC是你的不二之选。理由长期保存稳定性和兼容性是第一位的。FLAC开放的标准、优秀的容错能力和广泛的软硬件支持确保了你的音乐库在未来十年、二十年依然能被轻松访问和播放。你不会想在未来某个时候为了打开一个陈旧的APE文件而四处寻找特定的解码插件。FLAC的压缩率虽然略低于APE但考虑到现在硬盘空间已经非常廉价用一点点空间换取长期的安心和便利绝对是值得的。我的做法我的所有CD抓轨统一使用FLAC格式压缩级别设为第5级默认。这个级别在压缩率和编码速度上取得了很好的平衡。我用音乐管理软件为所有文件编辑好完整的元数据和高质量封面整个库井然有序可以在手机、电脑、NAS、播放器之间无缝同步和播放。4.2 场景二移动设备与流媒体播放这是FLAC的绝对主场。手机/便携播放器FLAC的低解码复杂度意味着更少的电量消耗更少的发热以及更流畅的播放体验。几乎所有像样的音乐播放App都支持FLAC。而APE格式在移动端不仅支持度低播放时还可能因为解码负担重导致卡顿或电量快速消耗。车载音响目前市面上绝大多数支持无损音频播放的车载系统首先支持的都是FLAC。如果你想在旅途中享受高质量音乐把歌曲转换成FLAC格式存入U盘是最稳妥、兼容性最高的方案。流媒体与在线分享虽然主流流媒体平台如Tidal、Qobuz使用自己的编码格式但在发烧友社区、论坛分享自抓音乐时FLAC也是事实上的标准格式因为它对下载者来说没有任何播放门槛。4.3 场景三追求极致存储效率的特定环境在极少数特定情况下APE可能仍有其考虑价值。网络带宽极其有限比如在早期通过ADSL小水管在论坛上下载音乐或者现在某些存储空间严格受限的嵌入式设备中但这类设备往往又缺乏APE解码能力很矛盾APE更高的压缩率能节省一点流量和空间。但如今这个优势已被高速网络和大容量存储完全抹平。纯粹的“仓库式”备份如果你有一套完整的APE历史收藏并且确定只在装有特定播放软件如Foobar2000 with Monkey‘s Audio插件的电脑上欣赏不打算迁移到其他设备那么保留原样也未尝不可。但出于长期保存的考虑我仍然建议将其批量转换为FLAC。4.4 格式转换与工具推荐如果你手头有一堆APE文件想享受FLAC的便利转换是必经之路。这个过程是完全无损的因为两者都是无损格式转换的本质是先解码成原始的WAV数据再用FLAC编码器压缩音质不会有任何损失。经典必备Foobar2000。这是Windows平台上一个免费且强大的音频播放和管理神器。安装后只需将APE文件通常附带一个.cue分轨文件导入播放列表全选右键选择“转换 - …”在输出格式中选择FLAC设置好参数保持默认即可点击运行就能批量完成转换并且会自动将标签信息一并转移过去。跨平台选择X Lossless Decoder (XLD)。这是macOS上处理无损音频转换的标杆软件同样免费。它支持几乎所有无损格式的互转并且以精准和稳定著称。一键傻瓜式格式工厂等综合工具。如果你不追求精细控制只是想快速把一堆APE变成FLAC也可以使用格式工厂这类免费的综合性格式转换软件。操作界面直观拖拽文件选择输出格式即可。转换完成后我强烈建议你对比听一下原APE和转换后FLAC的声音当然理论上应该完全一样并感受一下在不同设备上播放的流畅度。我相信你会更坚定地投向FLAC的怀抱。说到底技术之争终将归于实用。FLAC以其稳健、高效和开放的生态赢得了从发烧友到普通用户从专业设备到消费电子的全面胜利。而APE更像是一个特定技术阶段下对压缩极限充满执念的“技术宅”虽曾辉煌但已逐渐淡出主流舞台。对于今天的我们而言选择FLAC几乎就是选择了一条最省心、最兼容、最面向未来的无损音乐之路。它让享受高质量音乐这件事变得简单而纯粹。

相关文章:

深入解析FLAC与APE:无损音频格式的技术差异与应用场景

1. 从“听个响”到“听细节”:为什么我们需要无损音频? 不知道你有没有这样的经历:几年前用手机随便听听歌,觉得128kbps的MP3已经很满足了。后来偶然间,在朋友家或者某个展会上,用一套不错的耳机或音响&…...

SPH与Lagrange混合建模在超高速碰撞仿真中的应用——基于Ls-Dyna的实践探索

1. 为什么需要混合建模?聊聊超高速碰撞仿真的“老大难” 大家好,我是老张,在CAE仿真这个行当里摸爬滚打了十几年,尤其跟Ls-Dyna打交道的时间最长。今天想和大家深入聊聊一个在超高速碰撞仿真中特别实用,但也让很多新手…...

Obsidian 插件开发,AI 协作者的实战手册:从需求描述到一键发布,让 TRAE 帮你搞定代码

1. 从“想法”到“描述”:如何与你的AI协作者TRAE高效沟通 你是不是也遇到过这种情况?用Obsidian做笔记时,总觉得少了点什么。比如,你希望笔记里的某个关键词能自动关联到某个外部网站,或者想在侧边栏一键生成当天的待…...

PythonStudio 控件使用常用方式(三十三)THotKey 实战:自定义快捷键绑定与冲突处理

1. THotKey控件:你的快捷键管家 在PythonStudio里捣鼓桌面应用,给菜单项或者按钮绑定个快捷键,是不是觉得挺酷的?以前你可能得自己写一堆监听键盘事件的代码,判断Ctrl、Alt、Shift这些修饰键,还得处理各种按…...

企业网络卡顿疑难排查:从症状到解决方案的全流程解析

1. 从“莫名其妙”的卡顿说起:企业网络间歇性卡顿的典型症状 你有没有遇到过这种情况?办公室里,大家正热火朝天地工作,突然有人喊了一句:“网又卡了!”紧接着,抱怨声此起彼伏:“网页…...

立创天空星ODrive扩展板:双路无刷电机驱动与SimpleFOC/ODrive框架实战

立创天空星ODrive扩展板:双路无刷电机驱动与SimpleFOC/ODrive框架实战 最近在做一个机器人关节项目,需要同时精确控制两个无刷电机,既要力矩平稳,又要位置准确。市面上现成的驱动板要么太贵,要么功能单一,于…...

一键检测:实时手机检测-通用模型,轻松识别图像中的手机

一键检测:实时手机检测-通用模型,轻松识别图像中的手机 前言: 你有没有遇到过这样的场景?整理手机相册时,想快速找出所有包含手机的图片;或者在一个复杂的监控画面里,需要立刻定位出手机的位置。…...

拖延症福音!AI论文工具 千笔AI VS 文途AI,专科生写作神器

随着人工智能技术的迅猛发展,AI辅助写作工具已逐渐成为高校学生完成毕业论文的重要帮手。越来越多的专科生开始借助这些智能工具来提升写作效率、降低写作难度,尤其是在面对开题报告、文献综述、正文撰写等复杂环节时,AI工具的价值愈发凸显。…...

Flutter 三方库 deno_postgres_interop 的鸿蒙化适配指南 - 跨越边界的数据库桥梁、在鸿蒙端实现 Deno 与 Postgres 互操作实战

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net Flutter 三方库 deno_postgres_interop 的鸿蒙化适配指南 - 跨越边界的数据库桥梁、在鸿蒙端实现 Deno 与 Postgres 互操作实战 前言 在进行 Flutter for OpenHarmony 的全栈开发或是构建…...

基于Cursor与CMake的STM32现代化开发工作流:从零搭建到一键调试

1. 为什么你需要这套现代化开发工作流? 如果你还在用 Keil 或者 IAR 开发 STM32,每次新建工程都要重复配置一堆路径,代码补全慢半拍,换个电脑或者操作系统就得重头再来,那我猜你肯定想过:“有没有更爽一点的…...

Flutter 三方库 dart_dotenv 的鸿蒙化适配指南 - 配置隔离的指挥官、在鸿蒙端实现多环境安全解耦实战

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net Flutter 三方库 dart_dotenv 的鸿蒙化适配指南 - 配置隔离的指挥官、在鸿蒙端实现多环境安全解耦实战 前言 在进行 Flutter for OpenHarmony 的企业级应用开发时,我们经常需要…...

NHSE技术指南:从问题解决到创意实现的动物森友会存档编辑全攻略

NHSE技术指南:从问题解决到创意实现的动物森友会存档编辑全攻略 【免费下载链接】NHSE Animal Crossing: New Horizons save editor 项目地址: https://gitcode.com/gh_mirrors/nh/NHSE 一、问题导入:突破动物森友会的机制限制 1.1 玩家的常见困…...

如何突破《原神》帧率限制?genshin-fps-unlock工具的技术解析与应用指南

如何突破《原神》帧率限制?genshin-fps-unlock工具的技术解析与应用指南 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 问题溯源:为何帧率限制成为游戏体验的隐形…...

PCB阻焊工艺全解析:从油墨选择到关键工序优化

1. 阻焊工艺:不只是“绿油”那么简单 很多刚接触PCB设计的朋友,可能都和我当初一样,觉得电路板上的那层“绿油”就是个背景板,选个颜色而已。直到我第一次打样回来的板子,在焊接时发生了好几处不该有的桥连&#xff0c…...

BurpSuit实战:SQL注入漏洞的17种攻击手法全解析

1. 从零开始:认识Burp Suite与SQL注入 如果你刚开始接触Web安全,可能会觉得Burp Suite和SQL注入这两个词听起来有点吓人。别担心,我刚开始学的时候也是一头雾水,感觉像在看天书。但实际用起来你会发现,Burp Suite其实就…...

金融理财系列课程

金融理财系列课程 财企分析系列课程 01什么是年报(半年报、季报等) 02掌握资产负债表 03掌握企业利润表 04掌握现金流量表 05通过财报了解企业 理财与金融系列课程 01 投资原则 02投资指数基金的计算方法 03投资股票的计算方法 04投资债券的计算方法…...

小红书内容采集开源工具完全指南:从入门到精通

小红书内容采集开源工具完全指南:从入门到精通 【免费下载链接】XHS-Downloader 免费;轻量;开源,基于 AIOHTTP 模块实现的小红书图文/视频作品采集工具 项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader 在数字…...

电机控制进阶1 - SVPWM算法在工业伺服系统中的实战解析

1. 从理论到实战:为什么工业伺服离不开SVPWM? 大家好,我是老张,在工业自动化这行摸爬滚打了十几年,从最早用分立元件搭驱动板,到现在玩转各种高端伺服驱动器,电机控制这块算是踩过不少坑。今天咱…...

Dify从入门到精通(一)——Docker Compose一键部署实战

1. 为什么选择Docker Compose部署Dify? 如果你对AI应用开发感兴趣,但又觉得从零开始搭建大模型环境、处理各种依赖和配置太麻烦,那Dify的出现简直就是福音。我自己刚开始接触LLM应用时,光是环境配置就折腾了好几天,各种…...

【Unity进阶技巧】打造无边框透明窗口:实现桌面悬浮工具与宠物应用

1. 为什么你需要一个“看不见”的窗口? 如果你用过一些桌面小工具,比如一个始终显示在屏幕角落的简约时钟,或者一个会在你桌面上跑来跑去的可爱宠物,你可能会好奇:它们是怎么做到“悬浮”在所有窗口之上,而…...

毕业设计实战:基于YOLOv8/v5/v11的PCB缺陷智能检测系统(Python+PyQt5)

1. 项目开篇:为什么选择PCB缺陷检测作为你的毕业设计? 如果你正在为计算机视觉或人工智能相关的毕业设计选题发愁,觉得人脸识别、车辆检测这些题目太“卷”了,那我强烈建议你看看PCB缺陷智能检测这个方向。这绝对是一个能让你脱颖…...

集合竞价数据处理差异解析:同花顺与通达信的bar逻辑对比

1. 集合竞价数据:一个被忽视的“隐形”Bar 如果你做过量化交易,尤其是高频一点的策略,肯定没少跟K线图打交道。一根根红红绿绿的柱子,记录着价格的开、高、低、收和成交量,这就是我们常说的Bar数据。但不知道你有没有注…...

ONLYOFFICE连接器(Connector)实战指南:从基础API到业务系统深度集成

1. 为什么你需要关注ONLYOFFICE连接器? 如果你正在开发OA、CRM或者知识库这类需要处理文档的业务系统,那你肯定遇到过这样的头疼事:用户想在系统里直接编辑个Word、Excel或者PPT,你得想办法集成一个在线编辑器。市面上选择不少&am…...

实战演练:基于快马平台从ER图到生成可运行API的教务管理系统

最近在做一个教务管理系统的原型开发,深刻体会到从数据库设计到接口实现这个过程的繁琐。画ER图、写建表SQL、再手动搭建后端框架……每个环节都得花不少时间。不过,这次我尝试用了一个新方法,借助InsCode(快马)平台,直接把设计好…...

AI新手村:我妈问我什么是OpenClaw,什么是养虾,我一文讲清

OpenClaw 到底是什么?它是一种全新的 AI,不是 ChatGPT 那种只会跟你聊天的机器人,是真能上手帮你干活的那种 AI ,行业里管它叫 AI Agent,也就是智能体。那跟 ChatGPT 到底有什么不一样?说实话,区…...

某大厂员工吐槽:我一个月加班20H+,被上级警告加班太少!

某大厂研究所员工爆料,自己一个月加班近20个小时,却被同事警告“加班太少”。评论区更有人表示,20小时确实不多,他们那里都是60至70小时起步。这条帖子看似在比较时长,实则撕开了职场中一种扭曲的价值观:当…...

便携式NFC检测枪设计:基于ESP32-C3与MFRC522的工业级读卡终端

1. 项目概述本项目是一款面向现场巡检、资产识别与门禁验证场景的便携式NFC检测枪,核心功能为非接触式读取ISO/IEC 14443-A标准的MIFARE Classic、MIFARE Ultralight及NTAG系列标签,并通过低功耗蓝牙(BLE)将原始UID、ATQA、SAK及可…...

ResNet与ViT在图像特征提取中的核心差异:卷积与自注意力机制的比较

1. 从“看”图片到“理解”图片:两种截然不同的思维方式 如果你刚开始接触计算机视觉,可能会觉得把一张图片扔进模型,然后它就能告诉你图片里是猫是狗,这事儿挺神奇的。但模型内部到底是怎么“看”这张图的?这背后其实…...

Ubuntu系统SMBus Host Controller报错全面解析与修复指南

1. 从一次“开不了机”的恐慌说起:SMBus报错到底是什么? 那天早上,我像往常一样按下Ubuntu电脑的开机键,准备开始一天的工作。屏幕亮起,熟悉的GRUB引导菜单一闪而过,紧接着,一行刺眼的黄字跳了出…...

【FPGA】基于DS18B20的单总线温度监测系统设计与实现

1. 从零开始:为什么选择FPGA和DS18B20来玩转温度监测? 如果你对电子DIY或者嵌入式开发感兴趣,肯定听说过温度传感器。市面上温度传感器种类繁多,有模拟的,有数字的,有复杂的,也有简单的。但说到…...