![]() |
Ответ: Запросы на написание библиотек. Библиотеки запрашивать только здесь.
Если это возможно, хорошо бы иметь библиотеки для быстрого преобразования кодировок строк. На форуме описано несколько (примерно одинаковых) решений для перекодирования win1251->UTF8, но это не очень удобно. Самое главное - что данные алгоритмы работают медленно. Приходится посимвольно считывать строку, брать Ord символа, потом делать Chr.
На реальных телефонах подобная обработка текста размером 5-10 кб уже ощутимо тормозит. Да и память жрёт. Вопрос - есть ли на J2ME возможность быстрой (встроенной или низкоуровневой) конвертации кодировки строки? |
Ответ: Запросы на написание библиотек. Библиотеки запрашивать только здесь.
Цитата:
Всё же легче создать собственный алгоритм. Пусть медленно, зато надежно. Я могу добавить функции переконвертации строк, например в библиотеку Lib_str. |
Ответ: Запросы на написание библиотек. Библиотеки запрашивать только здесь.
Ну, тогда в этом случае серый телефон всё равно не сможет отобразить символы на экране.
В общем, я буду тебе благодарен за либу. И если есть возможность ускорить загрузку строк из тестовых ресурсов, будет тоже здорово. :) |
Ответ: Запросы на написание библиотек. Библиотеки запрашивать только здесь.
Может кто-нить сделать либу для загрузки ресурса в виде строки?
|
Ответ: Запросы на написание библиотек. Библиотеки запрашивать только здесь.
Я наверно смогу =) Как либу назвать?
|
Ответ: Запросы на написание библиотек. Библиотеки запрашивать только здесь.
Гы. Самое сложное в написании библотеки - придумать название :). Lib_res2str. Или можно Lib_res, на случай, если кто добавит функции для нормальной работы с ресурсами.
|
Ответ: Запросы на написание библиотек. Библиотеки запрашивать только здесь.
Офигеть... Правильно мне сегодня друг сказал... По воскресениям телепатические способности усиливаются. Уже сделал =) И назвал именно Lib_res2str =) Вот: http://wc.webhop.net:8080/res2str.zip Считывает ресурс в строку в ASCII, могу попробовать сделать дополнительный параметр функции, который бы давал понять функции в какой кодировке читать ресурс - ASCII или UTF-8 =) Пока либу не выкладываю, так как на самом деле она слишком маленькая. Может ещё чего-то сделать и добавить?
|
Ответ: Запросы на написание библиотек. Библиотеки запрашивать только здесь.
Ага, сделай, пожалуйста, конвертилку в UTF8.
|
Ответ: Запросы на написание библиотек. Библиотеки запрашивать только здесь.
Так. На счёт utf-8 погорячился. Не знаю пока как сделать. Сделал чтение в ansi (windows-1251). Теперь русские буквы отображаются нормально. У меня мысль появилась, может сделать чтение в различных кодировках? Или не стоит заморачиваться? Сейчас может читать в ascii и ansi. Если из ресурса читаем текст, то читаем как ansi, а если читаем бинарные данные, то читаем как ascii. Это если я правильно всё понимаю. =) В общем вот, ссылка та же самая: http://wc.webhop.net:8080/res2str.zip
|
Ответ: Запросы на написание библиотек. Библиотеки запрашивать только здесь.
Phantom_wc, спасибо! Вроде маленькая либа, а облегчает жизнь. Может сделаешь, чтоб можно было нормально (без зависания мидлета) работать с ресурсами? А то ReadLine, как известно, не айс.
|
Ответ: Запросы на написание библиотек. Библиотеки запрашивать только здесь.
Только вот я чего не понимаю. Чтобы русские буквы читать, делаем:
(char)((b>=0xc0&&b<=0xFF)?b+0x350:b) В принципе всё понятно, конвертируем в юникод. Видел такие примеры на нескольких сайтов. И это работает. Но ведь в юникоде каждый символ занимает от 1 до 4 байт (так-то я говорю про utf-8, а не про юникод, или это одно и то же?), в частности символы русского языка - два байта. Поэтому такой вопрос. Как мы можем загнать в тип char русский символ в два байта, если он занимает в памяти один байт? О_о или я чего-то жёстко не понимаю? |
Ответ: Запросы на написание библиотек. Библиотеки запрашивать только здесь.
Romanzes, так. А какие именно функции сделать?
|
Ответ: Запросы на написание библиотек. Библиотеки запрашивать только здесь.
Ну, там ReadLine нормальную. Больше не могу придумать
|
Ответ: Запросы на написание библиотек. Библиотеки запрашивать только здесь.
Вот: http://wc.webhop.net:8080/res.zip
Там ридми лежит в архиве. Возможно лишнего наворотил заумного, но сделал это только чтобы либа весила меньше и не было почти одинаковых кусков кода в ней. И назвал Lib_res. Если одобрите, создам тему и выложу как полагается =) |
Ответ: Запросы на написание библиотек. Библиотеки запрашивать только здесь.
У меня на теле в JVM нет ввода русских букв.
Сделайте плиз либу, чтобы был програмнный ввод символов. Я на MP программку писал, может чем поможет. Вот код: PHP код:
|
Часовой пояс GMT +4, время: 08:45. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot