Не могу поверить, что мне сложно с этим справиться, но пока не нашли ответа: допустим, у меня есть Java char
(или 1-значный String
), и я хочу преобразовать его в byte
ASCII. Как мне это сделать?Преобразование 8-разрядного символа ASCII в байт
Я знаю, что могу найти десятичное значение символа ASCII и создать из него байт, но похоже, что должно быть простое преобразование. Я нашел то, что, как представляется, ответ на байты массивов:
byte[] asciiArray = "SomeString".getBytes(StandardCharsets.US_ASCII);
, но не для всего одного байта. Что-то вроде:
byte asciiA = <some conversion function>('A');
Вы ищете '(байт) 'A''? – Kevin
Java 'char' не является байтом. Это 16-разрядный Unicode и должен быть закодирован с определенным внешним представлением, таким как UTF-8. Некоторые символы «ASCII» приведут к выходу более одного байта. –
Когда вы укажете 8-битное, вы действительно хотите включить расширенный ASCII (0x80-0xFF)? Если это так, невозможно преобразовать все символы в одиночные байты, так как некоторые из них могут кодироваться как 2 байта в UTF-8. Вопрос неясен. –