Java читает целые числа в или обратном порядке байтов с прямым порядком байтов?

Во-первых, вы должны знать, что такое необязательное значение. Для детализации вы можете перейти на Swift Programming Launage

.

Во-вторых, вы должны знать, что необязательное значение имеет два состояния. Один - это полное значение, а другое - значение nil. Поэтому перед тем, как вы реализуете необязательное значение, вы должны проверить, в каком состоянии оно находится.

Вы можете использовать if let ... или guard let ... else и т. Д.

Другой способ, если вы 't хотите проверить его состояние перед вашим исполнением, вы также можете использовать var buildingName = buildingName ?? "buildingName".

92
задан Basil Bourque 15 January 2018 в 23:14
поделиться

5 ответов

Используйте сетевой порядок байтов (обратный порядок байтов), который совпадает с использованием Java так или иначе. Посмотрите человека htons для различных переводчиков в C.

63
ответ дан Egil 24 November 2019 в 06:33
поделиться

В Java нет никаких целых чисел без знака. Все целые числа подписываются и в обратном порядке байтов.

На стороне C каждый байт имеет tne LSB в запуске, слева и MSB в конце.

Это кажется, что Вы используете LSB в качестве Младшего значащего бита, не так ли? LSB обычно обозначает младший значащий байт. Порядок байтов не является базирующимся битом, но базирующийся байт.

Для преобразования от неподписанного байта до целого числа Java:

int i = (int) b & 0xFF;

Для преобразования из неподписанного 32-разрядного прямого порядка байтов в байте [] к Java долго (от вершины моей головы, не протестированной):

long l = (long)b[0] & 0xFF;
l += ((long)b[1] & 0xFF) << 8;
l += ((long)b[2] & 0xFF) << 16;
l += ((long)b[3] & 0xFF) << 24;
18
ответ дан jww 24 November 2019 в 06:33
поделиться

Нет никакого способа, которым это могло влиять на что-либо в Java, так как существует не (прямой не-API) способ отобразить некоторые байты непосредственно в интервал в Java.

Каждый API, который делает это или что-то подобное, определяет поведение довольно точно, таким образом, необходимо искать документацию того API.

11
ответ дан Joachim Sauer 24 November 2019 в 06:33
поделиться

Я считал бы байты один за другим и объединил бы их в длинный значение. Тем путем Вы управляете порядком байтов, и процесс связи прозрачен.

3
ответ дан Wouter Lievens 24 November 2019 в 06:33
поделиться

Если это соответствует протоколу, Вы используете, рассматриваете использование DataInputStream, где поведение , очень хорошо определил .

3
ответ дан Jens Bannmann 24 November 2019 в 06:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: