я получаю ответ от сервера в виде строки, какКак получить побайтно из байтового массива
V1YYZZ0x0000010x0D0x00112050x0C152031962061900x0D410240x0E152031962061900x0F410240x1021TATADOCOMOINTERNET101
Тогда я преобразуя его, чтобы массив байтов, потому что мне нужно получить значение из этого побайтно.
Я пытался использовать
Arrays.copyOfRange(original,
from , to);
, но она работает на указательный основе не на основе байта.
Я также пробовал следующее решение, но оно также обрезало String (если я использую строку вместо байта []) по длине.
public static String truncateWhenUTF8(String s, int maxBytes) {
int b = 0;
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
// ranges from http://en.wikipedia.org/wiki/UTF-8
int skip = 0;
int more;
if (c <= 0x007f) {
more = 1;
} else if (c <= 0x07FF) {
more = 2;
} else if (c <= 0xd7ff) {
more = 3;
} else if (c <= 0xDFFF) {
// surrogate area, consume next char as well
more = 4;
skip = 1;
} else {
more = 3;
}
if (b + more > maxBytes) {
return s.substring(0, i);
}
b += more;
i += skip;
}
return s;
}
Я знаю, как вычислить строку длиной байт, но он дает только полную длину строки в байтах, как
Вот как мне нужно, чтобы извлечь пакет на байты основе.
Выше кодов и параметров является лишь примером. Мне нужно получить byte by byte из массива string/byte.
Я искал участок, но не получил никакого решения или ссылки, на которые я могу ссылаться. Я не получаю, как разделять строку, используя длину байта, потому что я знаю длину байта для каждого параметра и для значения.
Пожалуйста, дайте мне любую ссылку или подсказку.
Используйте подстроку, так как формат/длина известны. Если вы используете регулярное выражение, рассмотрите * match *, а не split. Итак, во всяком случае .. какая проблема * есть? Кроме того, поскольку ответ представляет собой строку, скорее всего, лучше подумать о символах, а не о байтах. – user2864740
если вы знаете очень укусы и байты, тогда вы разделите строку в соответствии с вашим требованием. –
На самом деле нам нужна разделительная строка с использованием байта только потому, что у меня есть только длина байта для этого параметра ... –