Quoting Slawa Olhovchenkov <[email protected]>:

On Tue, Sep 16, 2014 at 06:36:52PM +0300, Oleg V. Nauman wrote:

Quoting Slawa Olhovchenkov <[email protected]>:

> On Tue, Sep 16, 2014 at 05:44:40PM +0300, Oleg V. Nauman wrote:
>
>> Quoting Slawa Olhovchenkov <[email protected]>:
>>
>> > On Tue, Sep 16, 2014 at 12:48:41AM +0300, Oleksandr V. Typlyns'kyi wrote:
>> >
>> >> Today Sep 16, 2014 at 01:41 Slawa Olhovchenkov wrote:
>> >>
>> >> > > http://svnweb.freebsd.org/base/head/lib/libc/iconv/
>> >> >
>> >> > это не ответ на вопрос.
>> >> > в конце концов и через dlopen iconv прогрузить можно.
>> >> > с чего бы конвертация происходила-то?
>> >>
>> >> Значит, вот он:
>> >> http://svnweb.freebsd.org/base/head/contrib/nvi/regex/?view=log
>> >
>> > где?
>> > пальцем покажи.
>> > ну вот хотя бы как он понял что это UTF-8 файл.
>> >
>>
>>   А head -c3 file|hexdump -C
>> о чем говорит?
>>
>
> 00000000  3c 3f 70                                          |<?p|
>

  XML, что ли?

php

Не, php не знаю.

Магия похоже в /usr/src/contrib/nvi/common/encoding.c
функция looks_utf8

if ((buf[i] & 0x20) == 0)       /* 110xxxxx */
 if (buf[i] > 0xC1)      /* C0, C1 */
  following = 1;
И пропуская далее цикл
for (n = 0; n < following; n++) {
..
}
получаем
gotone = 1;

 Вроде так



http://codesnipers.com/?q=node/68



Ответить