Как вернуть код символа?
От: Аноним  
Дата: 03.03.04 19:54
Оценка:
Собственно сабж.
Re: Как вернуть код символа?
От: mikkri Великобритания  
Дата: 03.03.04 21:27
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Собственно сабж.


Какого символа? В какой кодировке?
Кстати, не пробовал JavaDoc'и для класса String смотреть? Или для класса Character?
Re[2]: Как вернуть код символа?
От: DrZubr Беларусь  
Дата: 04.03.04 10:00
Оценка:
Здравствуйте, mikkri, Вы писали:

M>Здравствуйте, Аноним, Вы писали:


А>>Собственно сабж.


M>Какого символа? В какой кодировке?

M>Кстати, не пробовал JavaDoc'и для класса String смотреть? Или для класса Character?

Для начала просто хорошая книжка может помочь...

Предвидя саму проблему, могу предположить, что уважаемого Анонима устроит ответ вида:

String str = "My string";
for (int i = 0; i < str.length(); i++) {
  System.out.println((int) str.charAt(i));
}
ICQ [168117153]
Re[3]: Как вернуть код символа?
От: Аноним  
Дата: 04.03.04 10:33
Оценка:
Здравствуйте, DrZubr, Вы писали:

DZ>Здравствуйте, mikkri, Вы писали:


M>>Здравствуйте, Аноним, Вы писали:


А>>>Собственно сабж.


M>>Какого символа? В какой кодировке?

M>>Кстати, не пробовал JavaDoc'и для класса String смотреть? Или для класса Character?

DZ>Для начала просто хорошая книжка может помочь...


DZ>Предвидя саму проблему, могу предположить, что уважаемого Анонима устроит ответ вида:


DZ>
DZ>String str = "My string";
DZ>for (int i = 0; i < str.length(); i++) {
DZ>  System.out.println((int) str.charAt(i));
DZ>}
DZ>


Функция str.charAt(i)) возвращает символ из строки str под номером i, а мне нужен именно код символа.
Например int i = UnknowFunction('1'); В итоге переменной i будет присвоено значение 49(код символа 1).

В С++ все намного проще: int i = (int)'1';

Я не Ламер, я тока учусь
Re[2]: Как вернуть код символа?
От: Аноним  
Дата: 04.03.04 10:35
Оценка:
Здравствуйте, mikkri, Вы писали:

M>Здравствуйте, Аноним, Вы писали:


А>>Собственно сабж.


M>Какого символа? В какой кодировке?

M>Кстати, не пробовал JavaDoc'и для класса String смотреть? Или для класса Character?

Обычного символа в обычной ANSI кодировке. Смотрел классы String и Character, но там я ничего не нашел?
Re[4]: Как вернуть код символа?
От: mikkri Великобритания  
Дата: 04.03.04 10:41
Оценка: -1
Здравствуйте, Аноним, Вы писали:

А>Функция str.charAt(i)) возвращает символ из строки str под номером i, а мне нужен именно код символа.

А>Например int i = UnknowFunction('1'); В итоге переменной i будет присвоено значение 49(код символа 1).

А>В С++ все намного проще: int i = (int)'1';


Ага. Вот только ты не учел, что символ будет в кодировке Unicode16. Собственно, что ты хочешь сделать???
К примеру, есть у меня китайский иероглиф. Нафиг тебе его код?

А>Я не Ламер, я тока учусь


Похоже, ты успешно учишься быть ламером. По крайней мере советы ты игнорируешь.

Смотрим джавадоки:

Character.getNumericValue
public static int getNumericValue(char ch)Returns the Unicode numeric value of the character as a nonnegative integer. If the character does not have a numeric value, then -1 is returned. If the character has a numeric value that cannot be represented as a nonnegative integer (for example, a fractional value), then -2 is returned.
Parameters:
ch — the character to be converted.
Returns:
the numeric value of the character, as a nonnegative int value; -2 if the character has a numeric value that is not a nonnegative integer; -1 if the character has no numeric value.
Since:
JDK1.1
Re[3]: Как вернуть код символа?
От: Lucker Беларусь http://lucker.intervelopers.com/
Дата: 04.03.04 10:46
Оценка:
сообщил/сообщила в новостях следующее: news:559442@news.rsdn.ru...
> Здравствуйте, mikkri, Вы писали:
>
> M>Здравствуйте, Аноним, Вы писали:
>
> А>>Собственно сабж.
>
> M>Какого символа? В какой кодировке?
> M>Кстати, не пробовал JavaDoc'и для класса String смотреть? Или для класса Character?
>
> Обычного символа в обычной ANSI кодировке. Смотрел классы String и Character, но там я ничего не нашел?
String myString = "Твоя строка представленная в Юникоде (2 байта на символ)";
String needEncoding = "Cp866"; //подставь то что нужно
byte[]bytes = null;
try {
    bytes = myString.getBytes(needEncoding);
} catch (UnsupportedEncodingException  e) {
    bytes = myString.getBytes(); //uses default encoding
}
for (int i = 0;  i < bytes.lenght; i++) {
    System.out.println(bytes[i]);
}
Posted via RSDN NNTP Server 1.8 beta
Re[3]: Как вернуть код символа?
От: mikkri Великобритания  
Дата: 04.03.04 10:52
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Обычного символа в обычной ANSI кодировке. Смотрел классы String и Character, но там я ничего не нашел?


Плохо смотрел.
char c = 'Y';
String s = new Character(c).toString();
byte[] codes = s.getBytes("US-ASCII");
byte code = codes[0];
Re[4]: Как вернуть код символа?
От: DrZubr Беларусь  
Дата: 04.03.04 11:37
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Функция str.charAt(i)) возвращает символ из строки str под номером i, а мне нужен именно код символа.

А>Например int i = UnknowFunction('1'); В итоге переменной i будет присвоено значение 49(код символа 1).

А>В С++ все намного проще: int i = (int)'1';


А>Я не Ламер, я тока учусь


Дык а я тебе что написал??? Ты хоть запускал тот пример???

public class Example {

  public static int getCharCode(char ch) {
    return (int) ch;
  }

  public static void main(String[] args) {
    System.out.println(getCharCode('1'));
  }

}


Запусти это и получишь свое 49
В твоем тривиальном случае это то что надо.
ICQ [168117153]