netty工程,JAVA解析BCD码,BIN码
来源:互联网 发布:大二申请国外大学知乎 编辑:程序博客网 时间:2024/05/29 18:26
数据传递用NIO的ByteBuffer类型。
首先是BCD码转成JAVA的String 类型
这个是指定长度的
public static final String readBCDWithLength(ByteBuffer byteBuffer,int count) throws IOException { byte[] b = new byte[count]; byteBuffer.get(b); return bcd2Str(b); }
public static String bcd2Str(byte[] bytes) {StringBuffer temp = new StringBuffer(bytes.length * 2); for (int i = 0; i <bytes.length; i++) { temp.append((byte) ((bytes[i] & 0xf0) >>> 4)); temp.append((byte) (bytes[i] & 0x0f)); } return temp.toString().substring(0, 1).equalsIgnoreCase("0") ? temp .toString().substring(1) : temp.toString(); }
下面是BIN码的读取
一个Byte直接用byteBuffer.get();来读取。
指定长度的用下面的方法
public static final byte[] readWithLength(ByteBuffer byteBuffer,int count) throws IOException { byte[] b = new byte[count]; byteBuffer.get(b); return b; }先读取成Byte数组,然后转成String
public static String getAscii(byte[] src) {int pos = -1;int len = src.length;for (int i = 0; i < len; i++) {if (src[i] == 0) {pos = i + 1;break;}if (src[i] < 0x20 || src[i] > 0x7e) {return " ";}}if (pos == -1) pos = len + 1;//return "";byte[] dest = new byte[pos - 1];System.arraycopy(src, 0, dest, 0, pos - 1);String s = new String(dest);s.trim();return s;}
如果是其他类型,直接强转就可以的。
如果对你有帮助,点个赞呗。
阅读全文
1 0
- netty工程,JAVA解析BCD码,BIN码
- BIN,BCD码
- BIN,BCD,ASCII码的区别
- 数字电路:设计《BIN 到 BCD 码的转换电路》
- java ASCII码转BCD码 BCD码转字符串
- java ASCII码转BCD码 BCD码转字符串
- java中BCD码转String和String转BCD码
- BCD码
- bcd码
- BCD码
- BCD码
- BCD码
- BCD码
- BCD码
- BCD 码
- BCD码
- BCD码
- BCD码
- 使用Web Worker
- Redux(1)
- Hdu 1531 King 差分约束 解题报告
- HDU-2571-命运
- 悲观锁和乐观锁的区别和应用场景
- netty工程,JAVA解析BCD码,BIN码
- Eclipse中出现Type 'xxxx' could not be resolved的处理方法
- Hive的基本使用
- Linux c语言之关键字复习
- CloudSim(3.0.3)运行机制见解
- 系统80端口被System占用 造成Apache不能启动的解决办法
- LOG斑点检测
- easyui-textbox 即时取值办法,实时性高于onChange
- MySQL-索引可能失效场景