`

cindy源码阅读(3)encode和decode

 
阅读更多
先来看看类图:



可以看到解码和编码是对应的。解码导入实现了PacketDecoder ,编码都实现了PacketEncoder。这个和我上一篇文章说的传输的基础是packet是对应的。
编码分别是转换成Buffer,byte[],ByteBuffer,对象,Packet。解码也有对应的解码。注意这里的buffer是cindy自己定义的buffer。
当然这些编码和解码为了扩展,还有chain类。PacketEncoderChain,PacketDecoderChain。

时间的过程中很少上面这些。cindy的举例hello worl用到了SerialEncoder。这个是对象的。但是这个对象没有确定具体的类,我们只能使用object的东西。
实际中我们的编码和解码一般是写在model的类中,更类似这样的:

public class Model{
	
	private short userLiveId;		  

	public short getUserLiveId() {
		return userLiveId;
	}

	public void setUserLiveId(short userLiveId) {
		this.userLiveId = userLiveId;
	}

	
	protected void encode(ByteBuffer buffer) {
	
		buffer.putShort(userLiveId);
	}

	
	protected void decode(ByteBuffer buffer) throws Exception {
		
		userLiveId = buffer.getShort();
	}	


也就是说,我们时间传输的是个pocket,pocket包含Buffer,我们是从这个buffer中,几个字节几个字节那样解码出对象的。
  • 大小: 13.3 KB
0
3
分享到:
评论

相关推荐

    RS_encode_decode

    总的来说,“RS_encode_decode”项目展示了如何在FPGA硬件平台上实现高效、可靠的Raptor码编解码方案,结合了RS码的强纠错能力和Raptor码的自适应性,适用于对数据完整性和传输效率有高要求的系统。通过理解这些关键...

    EnCode/DeCode转换工具

    EnCode/DeCode转换工具是一款专门针对这一需求设计的小巧实用软件,它能够处理ANSI和UTF-8这两种常见的字符编码格式,帮助开发者解决字符转换的问题。 首先,我们要理解编码与解码的基本概念。编码是将可读的文本...

    HDB3 ENCODE AND DECODE

    HDB3 ENCODE AND DECODE,详细设计与实现,参考一下下啊

    sbc_encode_decode.7z

    标题“sbc_encode_decode.7z”提示我们这是一个与SBC编码和解码相关的压缩文件,主要用于蓝牙A2DP协议。在IT领域,尤其是无线音频传输中,SBC(Subband Coding)是一种广泛使用的编解码标准。让我们深入探讨一下这个...

    js-protobuf-encode-decode-master.zip

    本项目"js-protobuf-encode-decode-master.zip"提供了一个在线工具,专门用于处理JavaScript环境下的Protobuf编码和解码操作。 Protobuf是一种由Google开发的数据序列化协议,它定义了一种二进制数据格式,比JSON...

    Video Encode and Decode GPU Support Matrix.xlsx

    Video Encode and Decode GPU Support Matrix.xlsx

    alfred-encode-decode-workflow, 将sting编码和解码为多个变体.zip

    alfred-encode-decode-workflow, 将sting编码和解码为多个变体 编码/解码( 下载 v1.8 )将字符串编码和解码为多个变体。要求Alfred应用程序 v2 。安装点击下面的下载按钮双击以导入 Alfred 2查看工作流以添加自定义...

    js中encode、decode的应用说明.docx

    JavaScript中的`encode`和`decode`是一组用于字符串编码解码的方法,它们在处理和传输数据时起到关键作用。在JavaScript中,常见的编码方法有`encodeURIComponent`、`decodeURIComponent`、`encodeURI`、`decodeURI`...

    Encode_Decode_Tools_编码转换器

    总结来说,“Encode_Decode_Tools”作为一款编码转换器,它的价值在于解决了不同编码格式之间的兼容问题,使信息的处理和交流更加顺畅。随着全球化进程的加速,对这类工具的需求只会越来越大,掌握其使用方法对于IT...

    RSA_encodedecode.zip

    本项目提供的"RSA_encodedecode.zip"是一个C语言实现的RSA加密解密工具,包含测试代码和Makefile,方便用户直接编译运行。 在RSA算法中,主要涉及到两个关键概念:公钥和私钥。公钥是公开的,任何人都可以获取,...

    DVI encode and decode source code for FPGA

    DVI 1.0 encode and decode source code, write with verilog, with simulation project, synplify project and all soure code. They're have been running on xilinx spartan3A FPGA. Can be used in real project...

    Encode_ Decode Tools URL编码解码工具

    `Encode_ Decode Tools`是一款用于URL编码和解码的工具,它可以帮助开发者和用户方便地处理这些编码问题。这款工具可能提供了简单的用户界面,允许用户输入URL或字符串,然后点击按钮进行编码或解码操作。它支持对...

    PDF417 encode decode

    this program is a demo to encode, decode for PDF417 bar code.

    base64_encode_decode.exe

    base64_encode_decode

    fec编码解码-fec-encode-decode

    前向纠错编码(FEC)技术通过在传输码列中加入冗余纠错码,在一定条件下,通过解码可以自动纠正传输误码,降低接收信号的误码率(BER)。 本算法每8bit增加4bit监督位,就纠错1bit

    delphi2010 base64_encode&decode

    标题"delphi2010 base64_encode&decode"指的是使用Delphi 2010编程环境实现的Base64编码和解码功能。Delphi是一款强大的面向对象的集成开发环境(IDE),主要用于编写Windows应用程序,其语法基于Pascal语言。 描述...

    helix-mp3 encode & decode source code

    首先,我们要了解MP3(MPEG Audio Layer-3)是一种高效的有损音频压缩格式,通过去除人耳不易察觉的音频频率来实现数据压缩,从而大大减小了音频文件的存储空间。helix社区的这个项目,提供了一套完整的MP3编解码...

    pcm_encode_decode

    在"pcm_encode&decode"这个文件中,我们可以期待看到如何使用MATLAB的内置函数和结构来实现PCM的编码和解码过程。例如,可能用到了`audioread`和`audiowrite`函数来读取和写入音频数据,以及`fix`或`round`函数来...

    PHP json_encode() 和 json_decode()

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易于人阅读和编写,同时也易于机器解析和生成,而被广泛应用于Web服务和API的数据交互。 `json_encode()` 函数是将PHP变量转换为JSON格式的...

Global site tag (gtag.js) - Google Analytics