-
Data: 2012-06-13 00:09:18
Temat: Jak efektywnie stwierdzić czy tekst jest w UTF8?
Od: "Borneq" <b...@a...hidden.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]
Gdy mam stwierdzić w jakim kodowaniu jest tekst to wykorzystuję twierdzenie
Bayesa - na przykład mam klasy Win1250,Latin2 i CP852.
Trenuję najpierw na tekstach otrzymując tabelkę 256 częstotliwości
występowania.
Aby zbadać jakie jest prawdopodobieństwo że tekst jest w danej stronie
kodowej dla zadanej klasy mnożę dla każdego znaku prawdopodobieństwa że znak
należy do danej klasy. Aby nie wyszło zerowe, stosuję wygładzenie Laplace'a
w ten sposób że do licznika dodaję jedynkę a do mianownika ilość znaków,
których częstotliwość jest niezerowa przynajmniej w jednej klasie.
Można to stosować do UTF8, ale ten standard w odróżnieniu od tamtych kodowań
jeden znak może kodować kilkoma bajtami. Potrzebne jest sprawdzenie
działające już dla krótkich tekstów i nie tylko porównanie polskich tekstów,
ale odróżnienie UTF8 od innych kodowań niezależnie od języka.
Można wykorzystać budowę kodu: http://pl.wikipedia.org/wiki/UTF-8
A więc dla języków takich jak polski większość znaków to kody 7 bitowe. Gdy
ośmiobitowy to najczęściej postaci 110xxxxx po którym musi być 10xxxxxx
Jeden pomysł to sprawdzenie czy wszystko to się zgadza. Ale wystarczy jeden
mały błąd i tekst zostanie zaklasyfikowany jako nie UTF-8. Należałoby to
także zrobić statystycznie. Ale jak zrobić zależność od poprzedniego bajtu
aby nie robić tablicy wielkości 256^n, choćby 256^2 ale wielkość tablicy
była by niewielka coś 256 do 300 liczb?
Następne wpisy z tego wątku
- 13.06.12 09:46 Borneq
- 13.06.12 13:19 Paweł Kierski
- 13.06.12 14:18 voy
- 13.06.12 14:44 Borneq
- 13.06.12 20:31 Jordan Szubert
- 13.06.12 23:59 Borneq
- 14.06.12 01:09 Jordan Szubert
- 14.06.12 11:05 Borneq
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-12-21 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2024-12-21 Warszawa => Java Developer <=
- 2024-12-21 Zalesie Borowe => Medical Equipment Service Engineer <=
- 2024-12-21 Żerniki => Specjalista ds. Employer Brandingu <=
- 2024-12-21 jak tacy debile
- 2024-12-20 Precedensy politycznie motywowanego nie wydawania w UE
- 2024-12-20 Obrońcy
- 2024-12-20 Obrońcy
- 2024-12-20 Obrońcy
- 2024-12-20 Gdańsk => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-20 czyste powietrze
- 2024-12-20 Katowice => Analyst in the Trade Development department (experience wi
- 2024-12-20 Opole => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-12-20 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-20 Rzeszów => International Freight Forwarder <=