функция UnicodeToUTF8 в RTL ( /inc/wstrings.inc )

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Ответить
Tiger
новенький
Сообщения: 10
Зарегистрирован: 23.05.2006 19:38:26
Откуда: Москва

функция UnicodeToUTF8 в RTL ( /inc/wstrings.inc )

Сообщение Tiger »

Пытался вот тут разобраться с функцией UnicodeToUTF8 и не понял такого кода в ней:

Код: Выделить всё

       while i < SourceChars 
       do begin
           case word(Source[i]) of
           $0..$7f: inc(j);
           $80..$7ff: inc(j,2);
           else inc(j,3);
           end;
          end;
      end;


Вроде, цикл "While I", а внутри цикла меняется только J !
У меня FPC 2.0.4!
Естественно, программа зависает, исполняя эту функцию.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
Сообщения: 1409
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение Sergei I. Gorelkin »

Чего тут разбираться - баг он и есть баг. Отправил в трекер за номером 9284 вместе с, так сказать, патчем :)
Странно, что со времен 2.0.4 на него никто не наткнулся...
Аватара пользователя
bw
постоялец
Сообщения: 359
Зарегистрирован: 01.12.2005 10:36:23
Откуда: Усть-Илимск
Контактная информация:

Сообщение bw »

Может в тихую, для себя, исправляли. Я иногда так делаю, правда не под FP.

..bw
Аватара пользователя
Cheb
энтузиаст
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34
Контактная информация:

Сообщение Cheb »

Вероятно, все используют для этого Utf8Encode(), и вышеуказанная просто никому ни разу не понадобилась?
Ответить