-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: "Borneq" <b...@a...hidden.pl>
Newsgroups: pl.comp.programming
Subject: Jak efektywnie stwierdzić czy tekst jest w UTF8?
Date: Wed, 13 Jun 2012 00:09:18 +0200
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 23
Message-ID: <jr8els$en3$1@inews.gazeta.pl>
NNTP-Posting-Host: 194.117.241.226
Mime-Version: 1.0
Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=original
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1339538940 15075 194.117.241.226 (12 Jun 2012 22:09:00 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Tue, 12 Jun 2012 22:09:00 +0000 (UTC)
X-Antivirus-Status: Clean
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157
X-Priority: 3
X-Newsreader: Microsoft Outlook Express 6.00.2900.5931
X-User: bornega
X-Antivirus: avast! (VPS 120612-1, 2012-06-12), Outbound message
X-MSMail-Priority: Normal
Xref: news-archive.icm.edu.pl pl.comp.programming:197871
[ ukryj 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 Ż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 <=
- 2024-12-20 Katowice => Key Account Manager (ERP) <=
- 2024-12-20 Ekstradycja
- 2024-12-20 Mikroskop 3D