как сохранить/преобразовать/найти кодировку мессаги
От: progma137  
Дата: 08.10.08 18:47
Оценка:
есть строка на русском языке с целыми числами. codepage=windows-1251 или СР1251 если быть точнее
есть програмный код на яве(привожу ниже)
результат: некоректное(на мой взгляд) отображение выделеных посимвольно символов(смотрел в консольном окне в IDE).
код взят из моего jar-приложения написаного на NetBeans 5.5.1
задача: отделить целые числа от строки методом посимвольного определения принадлежности к разряду чисел.
з.ы. может есть какой альтернативный метод да я не нашел его???
public void str2int_mas(String s){
    /**переходим на битовую обработку
     */
    try {
      System.out.println("Вхожу в начало цикла...");
      byte buf2[] = s.getBytes("CP1251");//перевожу в битовый массив потому что по другому незнаю как дальше обработать
      String S = new String();
      int y,i=0;
      byte i1=124,i2;
      java.util.Stack<Byte> st = new java.util.Stack<Byte>();
      System.out.println("---------------------"+buf2.length);
      while(i<buf2.length){
        y = i;
        while(java.lang.Character.isDigit((char)buf2[y])){
          st.push(buf2[y]);//вносим все нужные нам битовые значения цифер
          //S=S.concat(java.lang.Byte.toString(buf2[y]));
          System.out.println(y + " - " + (char)buf2[y]);
          y++;
        }
        if(i!=y) {
          st.push(i1);
          //S=S.concat("|");
          i = y;
        }
        i++;
        System.out.println("Контрольная точка - ["+i+"]='"+buf2[i]+"' ch='"+(char)buf2[i]+"'");
      }
      System.out.println("Досюдова дошел???");
      while (st.empty()==false){
        i2 = st.pop();
        System.out.print((char)i2);
      }
      System.out.println("\n-------------------");
      msg3 = S;
      System.out.println(msg3);
      /*теперь в строковом массиве подряд через "|" номера нужных нам цифер.*/
    } catch (UnsupportedEncodingException ex) {
      ex.printStackTrace();
      System.out.println("Варнинг!!! - "+ex.getMessage());
    }
  }
update
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.