Биты персонажа в Java

Насколько я знаю a является 8-битным символом, â является 16-битным символом:

  1. Как узнать, что символ 8 или 16 бит или выше?

  2. Зачем â символ не может представить в 8 бит?

  3. a или же â просто форма пользовательского интерфейса, как они выглядят в виде битов?

  4. 97 код aкак рассчитать это число или это просто порядковый номер символа?

1 ответ

Насколько я знаю 'a' является 8-битным символом, 'â' 16-битный символ

На самом деле, нет. Джава char 16-разрядный тип без знака, поэтому оба 'a' а также 'â' 16-битные символы. Правда, что 'a'Верхние 8 бит установлены на ноль, но эти биты все же есть. То же самое касается 'â' (увидеть ниже).

Как узнать, что символ 8 или 16 бит или выше?

сравнить ch & 0xFF00 в ноль. Если это ноль, старшие 8 битов - все нули; в противном случае некоторые из этих восьми битов не равны нулю.

Зачем 'â' символ не может представить в 8 бит?

Это может быть представлено как использование 8-битного: 'â'Код 0xE2 или 226. Он умещается в 8 бит, но не умещается в 7 бит. Вот удобная таблица для поиска кодов символов.

'a' или же 'â' просто форма пользовательского интерфейса, как они выглядят в виде битов?

поскольку char является интегральным типом, вы можете преобразовать его в int и выведите их в двоичном, десятичном, шестнадцатеричном или другом формате, чтобы увидеть битовые комбинации за символьными представлениями.

97 код 'a'как рассчитать это число или это просто порядковый номер символа?

В ролях 'a' для int:

int a = (int)'a';
Другие вопросы по тегам