网络只将数据看作是原始的字节序列。然而,我们的应用程序则会把这些字节组织成有意义的信息。在数据和网络字节流之间做相互转换是最常见的编程任务之一。例如,你可能需要处理标准的格式或者协议(如FTP或Telnet)、实现一种由第三方定义的专有二进制协议,或者扩展一种由自己的组织创建的遗留的消息格式。
将应用程序的数据转换为网络格式,以及将网络格式转换为应用程序的数据的组件分别叫作编码器和解码器,同时具有这两种功能的单一组件叫作编解码器。Netty提供了一系列用来创建所有这些编码器、解码器以及编解码器的工具,从专门为知名协议(如HTTP以及Base64)预构建的类,到你可以按需定制的通用的消息转换编解码器,应有尽有。
第10章介绍了编码器和解码器。通过学习一些典型的用例,你将学习到Netty的基本的编解码器类。当学习这些类是如何融入整体框架的时候,你将会发现构建它们的API和你学过的那些API一样,所以你马上就能使用它们。
在第11章中,将探索一些Netty为处理一些更加专业的场景所提供的编码器和解码器。关于WebSocket的那一节是最有意思的,同时它也将为第三部分中关于高级网络协议的详细讨论做好准备。