Как сжать китайские иероглифы - PullRequest
0 голосов
/ 13 февраля 2019

Я только начинаю проверять, как сжимать китайские иероглифы .Говорят, что в повседневном использовании ~ 8000 общих символов и 14k в основных словарях.Это намного больше, чем ~ 75 латинских + знаков препинания, которые вы видите в примерах кодирования Хаффмана.Мне интересно, если они просто делают китайские иероглифы так же, как латинские и имеют дело с большими битовыми последовательностями, или они делают что-то совершенно другое.

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

Китайцы используют два байта.Из-за принципа «голубиных отверстий» нет возможности разместить более 256 кодовых точек в восьми битах.С другой стороны, практически все умещается в шестнадцати битах - 65 535 кодовых точек.

Например, Unicode 1.1 от 1993 года определяет 20 902 кодовых точки для языков CJK.GBK 1.0 - это де-факто стандартный набор символов 1995 года в материковом Китае с 21 886 кодовыми точками.Теоретически вы могли бы найти сжатие символов в какую-то не выровненную систему слов, такую ​​как 12 бит или что-то в этом роде.Но компромисс был бы большим количеством дополнительной обработки для предельного сжатия.

Вы также можете поэкспериментировать с кодированием переменной ширины, но я не верю, что эффективность не будет сопоставима с большинством западных языков, так как китайскийрегулярно используйте более 256 символов.

Стоит также отметить, что китайский язык уже намного эффективнее западных языков.Почти каждый отдельный символ на китайском языке передает значительно больше информации, чем любой отдельный символ на английском языке.

0 голосов
/ 14 февраля 2019

Кодирование Хаффмана никак не зависит от размера алфавита.Длина кода Хаффмана для символа логарифмически пропорциональна обратной частоте символа;другими словами, чем реже символ, тем длиннее его код Хаффмана.Если какая-то латинская буква чрезвычайно редко встречается в корпусе, который вы сжимаете, ее длина кода будет такой же, как и длина китайского символа, которая одинаково необычна.

Тот факт, что существует так много китайских символов, означает, что больше из них будет редким, но, безусловно, возможно иметь два корпуса, один на китайском, а другой с использованием латинских символов, в которых самый длинный латинский коддлиннее, чем самый длинный китайский код.

...