CustomDecoder.java 794 B

1234567891011121314151617181920212223242526
  1. package com.js.kbt.socket;
  2. import java.util.List;
  3. import io.netty.buffer.ByteBuf;
  4. import io.netty.channel.ChannelHandlerContext;
  5. import io.netty.handler.codec.string.StringDecoder;
  6. public class CustomDecoder extends StringDecoder {
  7. @Override
  8. protected void decode(ChannelHandlerContext ctx, ByteBuf msg, List<Object> out) throws Exception {
  9. String HEXES = "0123456789ABCDEF";
  10. byte[] req = new byte[msg.readableBytes()];
  11. msg.readBytes(req);
  12. final StringBuilder hex = new StringBuilder(2 * req.length);
  13. for (int i = 0; i < req.length; i++) {
  14. byte b = req[i];
  15. hex.append(HEXES.charAt((b & 0xF0) >> 4))
  16. .append(HEXES.charAt((b & 0x0F)));
  17. }
  18. System.out.println("decode="+hex.toString());
  19. out.add(hex.toString());
  20. }
  21. }