本文整理了Java中com.google.protobuf.ByteString.byteAt()
方法的一些代码示例,展示了ByteString.byteAt()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ByteString.byteAt()
方法的具体详情如下:
包路径:com.google.protobuf.ByteString
类名称:ByteString
方法名:byteAt
[英]Gets the byte at the given index. This method should be used only for random access to individual bytes. To access bytes sequentially, use the ByteIterator returned by #iterator(), and call #substring(int,int) first if necessary.
[中]获取给定索引处的字节。此方法应仅用于对单个字节的随机访问。要按顺序访问字节,请使用#iterator()返回的ByteIterator,必要时首先调用#substring(int,int)。
代码示例来源:origin: com.google.protobuf/protobuf-java
@Override
public byte byteAt(int offset) {
return input.byteAt(offset);
}
});
代码示例来源:origin: com.google.protobuf/protobuf-java
/**
* Gets the byte at the given index.
* Throws {@link ArrayIndexOutOfBoundsException} for backwards-compatibility
* reasons although it would more properly be {@link
* IndexOutOfBoundsException}.
*
* @param index index of byte
* @return the value
* @throws ArrayIndexOutOfBoundsException {@code index} is < 0 or >= size
*/
@Override
public byte byteAt(int index) {
checkIndex(index, totalLength);
// Find the relevant piece by recursive descent
if (index < leftLength) {
return left.byteAt(index);
}
return right.byteAt(index - leftLength);
}
代码示例来源:origin: osmandapp/Osmand
/**
* Gets the byte at the given index.
* Throws {@link ArrayIndexOutOfBoundsException} for backwards-compatibility
* reasons although it would more properly be {@link
* IndexOutOfBoundsException}.
*
* @param index index of byte
* @return the value
* @throws ArrayIndexOutOfBoundsException {@code index} is < 0 or >= size
*/
@Override
public byte byteAt(int index) {
if (index < 0) {
throw new ArrayIndexOutOfBoundsException("Index < 0: " + index);
}
if (index > totalLength) {
throw new ArrayIndexOutOfBoundsException(
"Index > length: " + index + ", " + totalLength);
}
byte result;
// Find the relevant piece by recursive descent
if (index < leftLength) {
result = left.byteAt(index);
} else {
result = right.byteAt(index - leftLength);
}
return result;
}
代码示例来源:origin: com.google.protobuf/protobuf-java
@Override
public byte nextByte() {
try {
return byteAt(position++);
} catch (IndexOutOfBoundsException e) {
throw new NoSuchElementException(e.getMessage());
}
}
代码示例来源:origin: googleapis/google-cloud-java
@Override
public String toString() {
ToStringHelper toStringHelper = MoreObjects.toStringHelper(this);
StringBuilder stBuilder = new StringBuilder();
for (int i = 0; i < byteString.size(); i++) {
stBuilder.append(String.format("%02x", byteString.byteAt(i)));
}
return toStringHelper.add("bytes", stBuilder.toString()).toString();
}
代码示例来源:origin: googleapis/google-cloud-java
@Override
public String toString() {
ToStringHelper toStringHelper = MoreObjects.toStringHelper(this);
StringBuilder stBuilder = new StringBuilder();
for (int i = 0; i < Math.min(256, byteString.size()); i++) {
stBuilder.append(String.format("%02x", byteString.byteAt(i)));
}
if (byteString.size() > 256) {
stBuilder.append("...");
}
return toStringHelper.add("bytes", stBuilder.toString()).toString();
}
代码示例来源:origin: googleapis/google-cloud-java
@Override
public String toString() {
ToStringHelper toStringHelper = MoreObjects.toStringHelper(this);
StringBuilder stBuilder = new StringBuilder();
for (int i = 0; i < Math.min(256, byteString.size()); i++) {
stBuilder.append(String.format("%02x", byteString.byteAt(i)));
}
if (byteString.size() > 256) {
stBuilder.append("...");
}
return toStringHelper.add("bytes", stBuilder.toString()).toString();
}
代码示例来源:origin: googleapis/google-cloud-java
@Override
public int compare(ByteString o1, ByteString o2) {
int sizeA = o1.size();
int sizeB = o2.size();
int shortestSize = Math.min(sizeA, sizeB);
for (int i = 0; i < shortestSize; i++) {
int byteA = o1.byteAt(i) & 0xff;
int byteB = o2.byteAt(i) & 0xff;
if (byteA != byteB) {
return byteA < byteB ? -1 : 1;
}
}
if (sizeA == sizeB) {
return 0;
}
return sizeA < sizeB ? -1 : 1;
}
}
代码示例来源:origin: osmandapp/Osmand
final StringBuilder builder = new StringBuilder(input.size());
for (int i = 0; i < input.size(); i++) {
final byte b = input.byteAt(i);
switch (b) {
代码示例来源:origin: googleapis/google-cloud-java
private int compareBlobs(Value left, Value right) {
ByteString leftBytes = left.getBytesValue();
ByteString rightBytes = right.getBytesValue();
int size = Math.min(leftBytes.size(), rightBytes.size());
for (int i = 0; i < size; i++) {
// Make sure the bytes are unsigned
int thisByte = leftBytes.byteAt(i) & 0xff;
int otherByte = rightBytes.byteAt(i) & 0xff;
if (thisByte < otherByte) {
return -1;
} else if (thisByte > otherByte) {
return 1;
}
// Byte values are equal, continue with comparison
}
return Integer.compare(leftBytes.size(), rightBytes.size());
}
代码示例来源:origin: googleapis/google-cloud-java
/** Lexicographically compares this row's key to another row's key. */
@Override
public int compareTo(@Nonnull Row row) {
int sizeA = getKey().size();
int sizeB = row.getKey().size();
int size = Math.min(sizeA, sizeB);
for (int i = 0; i < size; i++) {
int byteA = getKey().byteAt(i) & 0xff;
int byteB = row.getKey().byteAt(i) & 0xff;
if (byteA == byteB) {
continue;
} else {
return byteA < byteB ? -1 : 1;
}
}
if (sizeA == sizeB) {
return 0;
}
return sizeA < sizeB ? -1 : 1;
}
}
代码示例来源:origin: osmandapp/Osmand
int pos = 0;
for (int i = 0; i < input.size(); i++) {
byte c = input.byteAt(i);
if (c == '\\') {
if (i + 1 < input.size()) {
++i;
c = input.byteAt(i);
if (isOctal(c)) {
if (i + 1 < input.size() && isOctal(input.byteAt(i + 1))) {
++i;
code = code * 8 + digitValue(input.byteAt(i));
if (i + 1 < input.size() && isOctal(input.byteAt(i + 1))) {
++i;
code = code * 8 + digitValue(input.byteAt(i));
if (i + 1 < input.size() && isHex(input.byteAt(i + 1))) {
++i;
code = digitValue(input.byteAt(i));
} else {
throw new InvalidEscapeSequenceException(
"Invalid escape sequence: '\\x' with no digits");
if (i + 1 < input.size() && isHex(input.byteAt(i + 1))) {
++i;
code = code * 16 + digitValue(input.byteAt(i));
代码示例来源:origin: com.google.protobuf/protobuf-java
int pos = 0;
for (int i = 0; i < input.size(); i++) {
byte c = input.byteAt(i);
if (c == '\\') {
if (i + 1 < input.size()) {
++i;
c = input.byteAt(i);
if (isOctal(c)) {
if (i + 1 < input.size() && isOctal(input.byteAt(i + 1))) {
++i;
code = code * 8 + digitValue(input.byteAt(i));
if (i + 1 < input.size() && isOctal(input.byteAt(i + 1))) {
++i;
code = code * 8 + digitValue(input.byteAt(i));
if (i + 1 < input.size() && isHex(input.byteAt(i + 1))) {
++i;
code = digitValue(input.byteAt(i));
} else {
throw new InvalidEscapeSequenceException(
"Invalid escape sequence: '\\x' with no digits");
if (i + 1 < input.size() && isHex(input.byteAt(i + 1))) {
++i;
code = code * 16 + digitValue(input.byteAt(i));
代码示例来源:origin: MovingBlocks/Terasology
private <T> Map<Class<? extends T>, Integer> applySerializationInfo(List<NetData.SerializationInfo> infoList, ClassLibrary<T> classLibrary) {
Map<Class<? extends T>, Integer> idTable = Maps.newHashMap();
for (NetData.SerializationInfo info : infoList) {
ClassMetadata<? extends T, ?> metadata = classLibrary.getMetadata(new SimpleUri(info.getName()));
if (metadata != null) {
idTable.put(metadata.getType(), info.getId());
for (int i = 0; i < info.getFieldIds().size(); ++i) {
FieldMetadata<?, ?> field = metadata.getField(info.getFieldName(i));
if (field != null) {
field.setId(info.getFieldIds().byteAt(i));
} else {
logger.error("Server has unknown field '{}' on '{}'", info.getFieldName(i), info.getName());
}
}
} else {
logger.error("Server has unknown class '{}'", info.getName());
}
}
return idTable;
}
代码示例来源:origin: MovingBlocks/Terasology
private Event deserializeOnto(Event targetEvent, EntityData.Event eventData, EventMetadata<? extends Event> eventMetadata) {
Serializer serializer = typeSerializationLibrary.getSerializerFor(eventMetadata);
for (int i = 0; i < eventData.getFieldIds().size(); ++i) {
byte fieldId = eventData.getFieldIds().byteAt(i);
ReplicatedFieldMetadata<?, ?> fieldInfo = eventMetadata.getField(fieldId);
if (fieldInfo == null) {
logger.error("Unable to serialize field {}, out of bounds", fieldId);
continue;
}
if (fieldInfo.isReplicated()) {
serializer.deserializeOnto(targetEvent, fieldInfo, new ProtobufPersistedData(eventData.getFieldValue(i)), deserializationContext);
}
}
return targetEvent;
}
代码示例来源:origin: MovingBlocks/Terasology
if (metadata == null) {
logger.warn("Skipping unknown component {}", componentId);
fieldPos += UnsignedBytes.toInt(entityData.getComponentFieldCounts().byteAt(componentIndex));
continue;
fieldPos += UnsignedBytes.toInt(entityData.getComponentFieldCounts().byteAt(componentIndex));
continue;
for (int fieldIndex = 0; fieldIndex < UnsignedBytes.toInt(entityData.getComponentFieldCounts().byteAt(componentIndex)); ++fieldIndex) {
byte fieldId = entityData.getFieldIds().byteAt(fieldPos);
ReplicatedFieldMetadata fieldMetadata = metadata.getField(fieldId);
if (fieldMetadata != null && fieldCheck.shouldDeserialize(metadata, fieldMetadata)) {
代码示例来源:origin: googleapis/google-cloud-java
public static ByteStringRange prefix(ByteString prefix) {
if (prefix.isEmpty()) {
return unbounded();
}
int offset = prefix.size() - 1;
int curByte = 0xFF;
while (offset >= 0) {
curByte = prefix.byteAt(offset) & 0xFF;
if (curByte != 0xFF) {
break;
}
offset--;
}
if (offset < 0) {
// We got an 0xFFFF... (only FFs) stopRow value which is
// the last possible prefix before the end of the table.
// So set it to stop at the 'end of the table'
return unbounded().startClosed(prefix);
}
ByteString endPrefix = offset == 0 ? ByteString.EMPTY : prefix.substring(0, offset);
ByteString endSuffix = UnsafeByteOperations.unsafeWrap(new byte[] {(byte) (curByte + 1)});
ByteString end = endPrefix.concat(endSuffix);
ByteStringRange range = ByteStringRange.unbounded().startClosed(prefix);
if (!end.isEmpty()) {
range.endOpen(end);
}
return range;
}
代码示例来源:origin: yeriomin/play-store-api
@Override
public byte byteAt(int offset) {
return input.byteAt(offset);
}
});
代码示例来源:origin: com.google.cloud/google-cloud-core
@Override
public String toString() {
ToStringHelper toStringHelper = MoreObjects.toStringHelper(this);
StringBuilder stBuilder = new StringBuilder();
for (int i = 0; i < Math.min(256, byteString.size()); i++) {
stBuilder.append(String.format("%02x", byteString.byteAt(i)));
}
if (byteString.size() > 256) {
stBuilder.append("...");
}
return toStringHelper.add("bytes", stBuilder.toString()).toString();
}
代码示例来源:origin: com.google.cloud/gcloud-java-core
@Override
public String toString() {
ToStringHelper toStringHelper = MoreObjects.toStringHelper(this);
StringBuilder stBuilder = new StringBuilder();
for (int i = 0; i < Math.min(256, byteString.size()); i++) {
stBuilder.append(String.format("%02x", byteString.byteAt(i)));
}
if (byteString.size() > 256) {
stBuilder.append("...");
}
return toStringHelper.add("bytes", stBuilder.toString()).toString();
}
内容来源于网络,如有侵权,请联系作者删除!