| 程序包 | 说明 |
|---|---|
| cn.gongler.util.bytes | |
| cn.gongler.util.protocol.itemtype |
| 限定符和类型 | 方法和说明 |
|---|---|
protected BytesBuilder |
BytesBuilder._addByte(int byteVal) |
protected BytesBuilder |
BytesBuilder._addBytes(byte[] buf,
int from,
int size) |
BytesBuilder |
BytesBuilder.addBcd(int byteCnt,
BigInteger val) |
BytesBuilder |
BytesBuilder.addBcd(int byteCnt,
long val) |
BytesBuilder |
BytesBuilder.addBcd(int byteCnt,
String bcd)
处理BCD超过8字节的情况
|
BytesBuilder |
BytesBuilder.addBit(boolean bitVal) |
BytesBuilder |
BytesBuilder.addBit(int bitVal) |
BytesBuilder |
BytesBuilder.addBitRepeat(boolean bitVal,
int repeatTimes) |
BytesBuilder |
BytesBuilder.addBitRepeat(int bitVal,
int repeatTimes) |
BytesBuilder |
BytesBuilder.addBits(CharSequence bitsStr) |
BytesBuilder |
BytesBuilder.addBits(int bitCnt,
long val) |
BytesBuilder |
BytesBuilder.addBits(List<Boolean> bits) |
BytesBuilder |
BytesBuilder.addByte(Byte byteVal) |
BytesBuilder |
BytesBuilder.addByte(int byteVal)
添加1个字节
|
BytesBuilder |
BytesBuilder.addByteBySupplier(int times,
java.util.function.IntUnaryOperator mapper)
添加n个字节,字节值与序号相关。
|
BytesBuilder |
BytesBuilder.addByteRepeat(int byteVal,
int repeatTimes) |
BytesBuilder |
BytesBuilder.addBytes(byte[] bytes) |
BytesBuilder |
BytesBuilder.addBytes(Byte[] bytes) |
BytesBuilder |
BytesBuilder.addBytes(byte[] buf,
int from,
int size) |
BytesBuilder |
BytesBuilder.addBytes(Byte[] bytes,
int from,
int size) |
BytesBuilder |
BytesBuilder.addBytes(BytesBuildable item) |
BytesBuilder |
BytesBuilder.addBytes(BytesBuilder another) |
BytesBuilder |
BytesBuilder.addBytes(CharSequence hex) |
BytesBuilder |
BytesBuilder.addBytes(IBytesRange bytesRange) |
BytesBuilder |
BytesBuilder.addBytes(int byteCnt,
byte[] bytes)
长截断;短右补齐
|
BytesBuilder |
BytesBuilder.addBytes(int byteCnt,
CharSequence hex) |
BytesBuilder |
BytesBuilder.addBytes(Iterable<BytesBuildable> items) |
<T> BytesBuilder |
BytesBuilder.addBytes(Iterable<T> list,
java.util.function.Function<T,byte[]> mapper) |
BytesBuilder |
BytesBuilder.addBytes(List<ToBytes> items) |
BytesBuilder |
BytesBuilder.addBytes(java.util.stream.Stream<byte[]> stream) |
<T> BytesBuilder |
BytesBuilder.addBytes(T obj,
java.util.function.Function<T,byte[]> mapper) |
BytesBuilder |
BytesBuilder.addBytes(ToBytes item)
也相当于Supplier
|
BytesBuilder |
BytesBuilder.addBytesRefPrevious(java.util.function.Function<IBytesRange,byte[]> mapper)
根据已经输出的字节块计算后面的输出。
|
BytesBuilder |
BytesBuilder.addByteStream(InputStream in) |
BytesBuilder |
BytesBuilder.addByteStream(java.util.stream.IntStream stream)
IntStream.range(1, 10).forEach(System.out::println);
IntStream.generate(Random.next()).forEach(System.out::println);
|
BytesBuilder |
BytesBuilder.addByteStream(java.util.stream.Stream<Byte> stream) |
BytesBuilder |
BytesBuilder.addGbk(int byteCnt,
CharSequence msg) |
BytesBuilder |
BytesBuilder.addHex(CharSequence hex) |
BytesBuilder |
BytesBuilder.addHex(int byteCnt,
CharSequence hexNum)
addNumByHex
|
BytesBuilder |
BytesBuilder.addHex(int byteCntPerItem,
Iterable<String> hexList) |
BytesBuilder |
BytesBuilder.addHex(Iterable<String> hexList) |
<T> BytesBuilder |
BytesBuilder.addHex(Iterable<T> list,
java.util.function.Function<T,String> mapper) |
BytesBuilder |
BytesBuilder.addHex(java.util.stream.Stream<String> stream) |
BytesBuilder |
BytesBuilder.addHex(String... hexArray) |
BytesBuilder |
BytesBuilder.addInt(Integer value) |
BytesBuilder |
BytesBuilder.addLong(Long value) |
BytesBuilder |
BytesBuilder.addNum(int byteCnt,
BigInteger value) |
BytesBuilder |
BytesBuilder.addNum(int byteCnt,
BigInteger value,
ByteOrder byteOrder) |
BytesBuilder |
BytesBuilder.addNum(int byteCnt,
Integer value) |
BytesBuilder |
BytesBuilder.addNum(int byteCnt,
long value)
默认大端字节顺序
|
BytesBuilder |
BytesBuilder.addNum(int byteCnt,
Long value) |
BytesBuilder |
BytesBuilder.addNum(int byteCnt,
long value,
ByteOrder byteOrder) |
BytesBuilder |
BytesBuilder.addNum(int byteCnt,
Short value) |
BytesBuilder |
BytesBuilder.addNum(int byteCnt,
String decode)
自动解码整数字符串。
|
BytesBuilder |
BytesBuilder.addNum1(long value) |
BytesBuilder |
BytesBuilder.addNum2(long value) |
BytesBuilder |
BytesBuilder.addNum3(long value) |
BytesBuilder |
BytesBuilder.addNum4(long value) |
BytesBuilder |
BytesBuilder.addNum8(long value) |
BytesBuilder |
BytesBuilder.addNumBigEndian(int byteCnt,
BigInteger value) |
BytesBuilder |
BytesBuilder.addNumBigEndian(int byteCnt,
long value) |
BytesBuilder |
BytesBuilder.addNumLittleEndian(int byteCnt,
BigInteger value) |
BytesBuilder |
BytesBuilder.addNumLittleEndian(int byteCnt,
long value)
小端字节顺序
|
BytesBuilder |
BytesBuilder.addNumPreviousCount(int byteCnt)
写入已经创建的字节数
|
BytesBuilder |
BytesBuilder.addShort(Short value) |
BytesBuilder |
BytesBuilder.addString(int byteCnt,
CharSequence msg) |
BytesBuilder |
BytesBuilder.addString(int byteCnt,
CharSequence msg,
Charset charset) |
BytesBuilder |
BytesBuilder.addUtf8(int byteCnt,
CharSequence msg) |
static BytesBuilder |
BytesBuilder.bigEndian() |
BytesBuilder |
BytesBuilder.Builder.build() |
BytesBuilder |
BytesBuilder.byteOrder(ByteOrder byteOrder) |
BytesBuilder |
BytesBuilder.charset(Charset charset) |
BytesBuilder |
BytesBuilder.duplicate()
有时会遇到有的字节需要后面字节生成后才能确定要写什么值。
|
BytesBuilder |
BytesBuilder.duplicate(int newPos) |
BytesBuilder |
BytesBuilder.exceptionIfNullVal() |
protected BytesBuilder |
BytesBuilder.fillValueAtPos(int byteValue) |
BytesBuilder |
BytesBuilder.forEach(IntByteConsumer consumer) |
BytesBuilder |
BytesBuilder.initCapacity(int initCapacity) |
BytesBuilder |
BytesBuilder.limited(int limited) |
static BytesBuilder |
BytesBuilder.littleEndian() |
BytesBuilder |
BytesBuilder.mark() |
BytesBuilder |
BytesBuilder.moveToMark() |
BytesBuilder |
BytesBuilder.nullValType(int nullValType) |
static BytesBuilder |
BytesBuilder.of() |
BytesBuilder |
BytesBuilder.placeHolderIfNullVal() |
protected BytesBuilder |
BytesBuilder.pos(int newPos) |
protected BytesBuilder |
BytesBuilder.requireBitsFinished() |
BytesBuilder |
BytesBuilder.save(Path file) |
BytesBuilder |
BytesBuilder.save(String filename) |
BytesBuilder |
BytesBuilder.setBack(int backIndex,
int byteVal)
只能修改游标之前的字节,用于逆序输出字节值。
|
BytesBuilder |
BytesBuilder.setByte(int globalIndex,
int byteVal)
允许用绝对位置修改值
|
BytesBuilder |
BytesBuilder.setBytes(int globalIndex,
byte[] block) |
BytesBuilder |
BytesBuilder.setBytes(int globalIndex,
ToBytes item) |
BytesBuilder |
BytesBuilder.setNum(int globalIndex,
int byteCnt,
long val) |
BytesBuilder |
BytesBuilder.setString(int globalIndex,
int byteCnt,
CharSequence msg,
Charset charset) |
BytesBuilder |
BytesBuilder.skip(int byteCnt) |
BytesBuilder |
BytesBuilder.slice(int byteCnt)
有时会遇到有的字节需要后面字节生成后才能确定要写什么值。
|
BytesBuilder |
BytesBuilder.trace(java.util.function.Consumer<CharSequence> consumer) |
BytesBuilder |
BytesBuilder.trace(int postfix,
java.util.function.Consumer<CharSequence> consumer) |
BytesBuilder |
BytesBuilder.trace(int prefix,
int postfix,
java.util.function.Consumer<CharSequence> consumer) |
| 限定符和类型 | 方法和说明 |
|---|---|
BytesBuilder |
BytesBuilder.addBytes(BytesBuilder another) |
void |
BytesBuildable.toBytes(BytesBuilder out) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
Item.toBytes(BytesBuilder out) |
void |
ItemType.toBytes(Item item,
BytesBuilder build) |
void |
StringWithLengthItemType.toBytes(Object itemValue,
BytesBuilder build) |
void |
StringItemType.toBytes(Object itemValue,
BytesBuilder build) |
void |
ParamMapType.toBytes(Object itemValue,
BytesBuilder build) |
void |
NumberItemType.toBytes(Object itemValue,
BytesBuilder out) |
void |
ListItemType.toBytes(Object itemValue,
BytesBuilder build) |
void |
ItemTypeStruct.toBytes(Object itemValue,
BytesBuilder build) |
abstract void |
ItemType.toBytes(Object itemValue,
BytesBuilder build) |
void |
FlagSignedNumberItemType.toBytes(Object itemValue,
BytesBuilder out) |
void |
DatetimeBcdItemType.toBytes(Object itemValue,
BytesBuilder out) |
void |
ComplementSignedNumberItemType.toBytes(Object itemValue,
BytesBuilder out) |
void |
BytesItemType.toBytes(Object itemValue,
BytesBuilder build) |
void |
BcdItemTypeAsString.toBytes(Object itemValue,
BytesBuilder build) |
void |
BcdItemTypeAsLong.toBytes(Object itemValue,
BytesBuilder out) |
Copyright © 2022. All rights reserved.