Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > ANSCII коды символов от String


Автор: Nodir 18.2.2007, 12:22
Добрый день. Как можно брать ANSCII коды от String'а на какой нибуть int. Пробовал:
Код

int n = 'a';

но возвращается Unicode код.

Автор: LSD 18.2.2007, 12:31
Код
String str = " ABC";
byte[] bytes = str.getBytes("ASCII");
for(byte b : bytes)
  System.out.printf("%1$02X ", 0xFF & b);

Автор: Nodir 18.2.2007, 13:34
Почему в этом  случае 
Код

String str = " ABC абвг";
        try{
            byte[] bytes = str.getBytes("ASCII");
            for(byte b : bytes)
                System.out.print(b+" ");
                //System.out.printf("%1$02X ", 0xFF & b);
        } catch (Exception e){
            
        }
        

результат 
Код

32 65 66 67 32 63 63 63 63


Автор: LSD 18.2.2007, 14:39
Цитата(Nodir @  18.2.2007,  13:34 Найти цитируемый пост)
Почему в этом  случае
....
результат 

А что тут не так?

Автор: Любитель 18.2.2007, 15:36
Nodir, byte - signed тип (как и все числа в яве). то, что ты (как я понял) хочешь получаем прибавлением 128.

Цитата(LSD @  18.2.2007,  14:39 Найти цитируемый пост)
А что тут не так?

Если я правильно понял, то, что коды для русских букв меньше 128.

Автор: Nodir 18.2.2007, 15:54
По моему кодировка  в ASCII от 1 до 122 все латинские символы, а потом ещё кое какие, а потом от 192 до 255 все кириллские. Такое было в Turbo Paskal. Мне нужно именно такое, если возможно.  smile 

Автор: Любитель 18.2.2007, 15:55
Я же сказал - прибавляй 128.

Автор: LSD 18.2.2007, 15:56
Цитата(Любитель @  18.2.2007,  15:36 Найти цитируемый пост)
Если я правильно понял, то, что коды для русских букв меньше 128.

В кодировке ASCII русских букв вообще нет. А все символы которые не могут быть сконвертированы в данную кодировку, заменяются на ? (у которого как раз код 63).

Добавлено @ 15:57 
Цитата(Nodir @  18.2.2007,  15:54 Найти цитируемый пост)
По моему кодировка  в ASCII от 1 до 122 все латинские символы, а потом ещё кое какие, а потом от 192 до 255 все кириллские. Такое было в Turbo Paskal.

Это не ASCII, это Cp866 кодировка.

Автор: Nodir 20.2.2007, 21:28
Посмотрел ascii taблцу c ето кодировкой все понятно. Всем спасибо  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)