На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Следующие правила действуют в данном разделе в дополнение к общим Правилам Форума
1. Здесь обсуждается Java, а не JavaScript! Огромная просьба, по вопросам, связанным с JavaScript, SSI и им подобным обращаться в раздел WWW Masters или, на крайний случай, в Многошум.
2. В случае, если у вас возникают сомнения, в каком разделе следует задать свой вопрос, помещайте его в корневую ветку форума Java. В случае необходимости, он будет перемещен модераторами (с сохранением ссылки в корневом разделе).

3. Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.
4. Не рекомендуется создавать несколько несвязанных вопросов в одной теме. Пожалуйста, создавайте по одной теме на вопрос.
Модераторы: dark_barker, wind
  
> Кодировка в j2me
    Хочу записать в файл русский текст, а потом его оттуда прочитать. Что то не очень хорошо выходит. Пишу в UTF-8 или Cp1251, но результат одинаков.
      Записать в файл удается нормально, но вот с чтением происходит ошибка - символы не те, что должны быть (кроказяблики разные).
        Используй DataInputStream, у него есть прекрасный метод readUTF(), либо используй InputStreamReader(InputStream is,String enc),
        еще можно пользовать GetBytes(String enc), где enc- кодировка.
        В телефонах, как правило, используется именно UTF-8.
        Также пользуйся Великим Гуглом и Поиском
          Цитата Malkav @
          readUTF()

          этот метод в начале пишет свой размер, а мне это не катит.

          Цитата Malkav @
          GetBytes(String enc)


          пробовал, не помогло :(


          Вот пример как я считываю файл:

          ExpandedWrap disabled
            DataInputStream dis = fc.openDataInputStream();
                    int num=(int)fc.fileSize();
                    String fileInfo="";
                    byte b[]=new byte[num];
                    dis.readFully(b);
                    for (int i=0;i<fc.fileSize();i++)
                        try{
                            char tt=(char)b[i];
                            fileInfo+=tt;
                        } catch(Exception ee){}


          собственно записать я записываю нормально, а вот читать оно оттуда не хочет по людски :(
            Цитата
            readUTF()
            этот метод в начале пишет свой размер, а мне это не катит.

            Пишет размер? Первый раз слышу. Но я правда особо глубоко не копал в этом направлении, просто когда я узнал об этой корявости с кодировками в J2ME я стал работать только с чистами байтами без всяких переводов туда-сюда :)
            Т.е. возвращает нормально, но спереди точит размер? Так прибей эти байты с размером ;)
              пишет размер "writeUTF()" если уж на то пошло....
              и если записали через writeUTF(), то через readUTF() будет всё нормально прочитано. зачем изобретать велосипед? (побайтно что-то читать... и т.д.)

              Добавлено
              Как записать строку в формате utf-8 в фаил
                Dancer
                я пишу *.ini файл, мне надо, что бы это был нормальный файл, а не с размером в первых байтах :)
                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                0 пользователей:


                Рейтинг@Mail.ru
                [ Script execution time: 0,0218 ]   [ 14 queries used ]   [ Generated: 17.05.24, 08:06 GMT ]