Привет еще раз.
From: Alex Tutubalin <lexa@lexa.ru>
Sent: 14 декабря 1999 г. 19:46
> Hi,
>
> Только вот какая беда - если
> содеpжимое документа не соответствует Content-Type и/или Meta, то
> pаспpостpаненные на сегодня бpоузеpы все-pавно не дадут клиенту посмотpеть
на
> этот документ, даже если искалка его нашла.
Самый распространенный на сегодняшний день брoузер - explorer 5.0. Он это
позволяет. Старые нетскейпы и эксплореры тоже позволяли.
> Что-то я не пойму, каким боком тут unicode. Я же должен отдать клиенту
8-битную
> кодиpовку, на диске хpанится тоже 8-битная, как пpедполагается
использовать тут
> unicode и куда денется автоматический постpоитель пpямых-обpатных таблиц
?
unicode (весь unicode у меня занимает от 9 до 15 килобайт)
используется для построения попарных байт-в-байт табличек перекодировки при
старте.
Для перекодировок вида
1_байтовая_кодировка_1 <--> 1_байтовая_кодировка_2
сам по себе unicode не используется.
Хотя он может быть утилизирован для перкодировок utf <->
1_байтовая_кодировка.
>
>
> alr> Я прошу прощения, если это уже многократно обсуждалось здесь, я
недавно
> alr> читаю Ваш list, но мне кажется, такой подход несколько сократит
"бардак",
> alr> при этом, если все правильно сделать, производительность не
пострадает.
> О. Если есть готовый код на тему "как пpавильно" и чтобы
пpоизводительность не
> постpадала, то общественность давно о нем мечтает.
Есть
1. компилятор unidata.txt в "C++" таблички с оптимизацией по используемой
памяти.
(сам компилятор на перле)
2. десяток 1-байтовых кодировок в виде 128 "широких" символов.
3. реализация на c++
Преимущества:
- перекодировка вида
1_байтовая <-> 1_байтовая делаются через одно обращение к табличке размером
256 байт.
- перекодировка вида
1_байтовая -> unicode делаются через одно обращение к табличке размером 256
широких_байт.
- перекодировка вида
unicode -> 1_байтовая эквивалентно одному обращению к двумерному массиву и
одной проверке
Особенности:
Недостающие в кодировке символы заменяются на default в соответствии со
своим классом,
скажем:
Pe = Кавычка
Po = Звездочка
и т.д.
Недостатки:
Декомпозиция не отрабатывается (то есть, например, все отсутствующие буквы
становятся одним символом в соответствии со своим классом). Причины здесь
две - экономия памяти, +лень было дописывать.
Если такое надо, могу послать.
>
> Alex Tutubalin
> http://www.lexa.ru/lexa/
>
Илья
=============================================================================
= Apache-Rus@lists.lexa.ru mailing list =
Mail "unsubscribe apache-rus" to majordomo@lists.lexa.ru if you want to quit.
= Archive avaliable at http://www.lexa.ru/mail-archive =
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.