UTF-8 и J2me
Сначала написал это на http://blackstrip.ru/ , а сейчас слово в слово пишу тут:
- - - Я вот сегодня узнал, что в java строки в unicode. А до этого думал, что в utf-8. Самое интересное, что джава сама приводит ASCII к юникоду. Предположим считываю я из ресурса текст побайтно и присваиваю байты строковой переменной. Каждый из байтов принимает в строке формат юникода. Например, пишем так: String s=(char)0xff; 0xff - это русская буква "я". После компилирования в классе (если его тупо открыть в блокноте) можно будет найти эту букву "я" в кодировке unicode в виде двух байт (каких именно не помню, лень рассчитывать), для наглядности можно написать целый текст, примерно, так: String s=(char)0xff+(char)0xda+(char)0xe1+(char)0x98+(cha r)0xfa+(char)0xa3+(char)0xa1+(char)0xf0; То есть ещё на этапе компиляции все явно заданные строки конвертируются в unicode. Я хз, может я последний человек на земле, который всего этого не знал =) Но тему не для этого создал. Я поставил перед собой задачу написать функцию, которая сможет считывать файлы в utf-8. Сложностей оказалось две: 1) Utf-8 - мультибайтная кодировка текста, каждый символ которой кодируется последовательностью от 1 до 6 байт (в реальности используются только 1-4 байта, так как их хватает за глаза). А текст считывается из файла побайтно, а не посимвольно, что логично. Следовательно каждый символ надо при считывании собирать из последовательности байт, длину которой тоже надо на лету рассчитывать, а только потом конкатенировать к строке. 2) Собственно там же, на лету, надо ещё превести каждый символ к кодировке unicode. Ну так вот. Заюзав это: http://ru.wikipedia.org/wiki/UTF-8 , написал функцию =) Код:
public static String read(String r){ - - - P.S: M - это класс мидлет паскаля, я в виде либы для него писал. Через него обратился к getResourceAsStream(). |
Re: UTF-8 и J2me
а как передать не ресурс а сроку?
|
Ответ: UTF-8 и J2me
Kurdt, Все, кому интересно, смотрим тут:
http://forum.boolean.name/showthread.php?p=88996 Только что написал. =) |
UTF 8 и J2me
MC в своей жизни никогда не умел utf8. Он долгое время порядка двух лет не обновлялся. Но написано куча патчей. И во freebsd как я вижу из портов он ставиться с патчем mc-4.6.2-utf8.patch
Буквально месяц назад была новость что его опять начали разрабатывать. Так что стоит ждать новых версий. Какая у Вас ОС и что именно с UTF не так? |
Ответ: UTF-8 и J2me
LeonSmile,
1) Посмотри на дату последнего сообщений перед твоим. 2) Мы тут как бе обсуждаем J2me, а из твоего поста я вообще мало чего понял. |
Часовой пояс GMT +4, время: 10:06. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot