169 похожих чатов

Всем привет. знатоки, объясните тупому: можно получить из строки массив byte[].

но тип byte имеет диапазон [-128;127]. и что, если в исходной строке будет символ у которого код юникода больше 127-ми. как это все работает?

9 ответов

7 просмотров

Так он тогда будет по два байта на символ просто

https://ru.stackoverflow.com/questions/493926/%D0%9F%D0%BE%D1%87%D0%B5%D0%BC%D1%83-%D0%B2%D1%8B%D1%85%D0%BE%D0%B4%D0%B8%D1%82-128

Maksim- Автор вопроса
Виталий Литуновский
Так он тогда будет по два байта на символ просто

т.е. латинский символ занимает 1байт, а кириллический- 2байта ? а при вызове getBytes() шестнадцатеричный юникод-код как-то превращается в число типа byte?

Не совсем, это зависит от того, в какой кодировке ты попытаешься получить байты Количество байт на символ зависит от кодировки, а не от языка Шестандцатиричный юникод потому так и называется, что 16 бит на символ А 16 бит - это два байта Если у тебя будет строчка из одной буквы и ты из нее получишь getBytes(), то длина массива будет 2, а не 1, потому что один символ представляется двумя байтами Можешь прямо сейчас в IDEA попробовать)

Maksim- Автор вопроса
Виталий Литуновский
Не совсем, это зависит от того, в какой кодировке ...

да. так и есть) еще момент. есть возможность выбрать UTF-8/16/16LE/16BE. в UTF-16 один кириллический символ занимает 4 байта, а в UTF-16LE/BE - 2байта. как так?

Maksim
да. так и есть) еще момент. есть возможность выбра...

Один кириллический символ занимает 4 байта в UTF-16? Насколько мне известно, должно быть все таки по 2 байта, но я видимо могу ошибаться

Maksim
т.е. латинский символ занимает 1байт, а кирилличес...

будет массив байтов какие то символы займут один байт, какие то два. элемент массива из байтов не равен номеру элемента в строке.

Василий Михалев
будет массив байтов какие то символы займут один б...

Нет конечно же, это нарушает основной принцип кодирования

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

Обсуждают сегодня

Сообщение* в закодированном виде. То есть, просто сделать sendMessage?text=Привет бла-бла! не получится, надо в HEX переводить, и добавлять процент, типа такого: sendMessage?t...
КТ315
21
А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Хм. А телеграм апи работают через HTTP?
The Bird of Hermes
14
Почему Telegram пишет, что объект media не найден, хотя на самом деле я его передаю? Делаю на urllib, без зависимостей, так надо. Вызываю метод sendMediaGroup с таким JSON: ...
Alexey S
1
Ну раз я пока тут, задам пару глупых вопросов. Зачем писать на ассемблере если компилятор довольно умный, а ассемблер много времени занимает? В каких прикладных задачах сейчас...
Максим Рябцев
20
Я тут за тем, чтобы задать вопрос, так как не знаю ассемблер, учу с/с++. Короче, насколько дорога операция перехода в функцию при ее вызове? Дело в том, что в с++ есть макросы...
Максим Рябцев
12
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
14
hello friends. Do you know how can I learn getx? I have a software project that I should deliver it up to 5 weeks later and I need to learn firebase too. I will be thankfull
AmirHossein Razavi
15
А какие чаты вообще в ходу? Auto aim? И что еше
do you think you're better off alone? А
13
Карта сайта