automaticke urceni kodovani
Petr Vileta
petr na practisoft.cz
Úterý Červen 29 01:06:39 CEST 2004
> zkousel jsem najit nejakou utilitu na automaticke prekodovani textu a
> nebo alespon na urceni kodovani z textu. Google mi akorat predhazuje
> csacek, takze jem se prakticky nikam nedostal... :(
>
> Nemate nekdo s necim zkusenosti? Stacilo by mi koznavani CP1250,
> ISO8859-2 a MAC CZ kodovani... (ma mac netrvam, tech tolik nemam a ani
> jich v budoucnu tolik nebude).
Utilitou neposlouzim, ale ja ve svych perlovskych skriptech pouzivam
nasledujici dve rutiny pro vzajemne prekodovani.
Jmena rutin myslim hovori jasne a podle tech pismen, ktera konvertuji muzete
posoudit, v jakem kodovani text je. Pokud se v celem textu nevyskytne ani
jedno z uvedenych pismen, pak s tim nemusite delat nic :-)
--
Petr
sub isotowin
{
my $xxr = '';
for ($xxq=0; $xxq < length($_[0]); $xxq++)
{
my $xxx = ord(substr($_[0],$xxq,1));
if ($xxx == 185) # s-hacek
{
$xxr = $xxr . chr(154);
}
elsif ($xxx == 187) # t-hacek
{
$xxr = $xxr . chr(157);
}
elsif ($xxx == 169) # S-hacek
{
$xxr = $xxr . chr(138);
}
elsif ($xxx == 171) # T-hacek
{
$xxr = $xxr . chr(141);
}
elsif ($xxx == 190) # z-hacek
{
$xxr = $xxr . chr(158);
}
elsif ($xxx == 174) # Z-hacek
{
$xxr = $xxr . chr(142);
}
else
{
$xxr = $xxr . chr($xxx);
}
}
return $xxr;
}
sub wintoiso
{
my $xxr = '';
for ($xxq=0; $xxq < length($_[0]); $xxq++)
{
my $xxx = ord(substr($_[0],$xxq,1));
if ($xxx == 154) # s-hacek
{
$xxr = $xxr . chr(185);
}
elsif ($xxx == 157) # t-hacek
{
$xxr = $xxr . chr(187);
}
elsif ($xxx == 138) # S-hacek
{
$xxr = $xxr . chr(169);
}
elsif ($xxx == 141) # T-hacek
{
$xxr = $xxr . chr(171);
}
elsif ($xxx == 158) # z-hacek
{
$xxr = $xxr . chr(190);
}
elsif ($xxx == 142) # Z-hacek
{
$xxr = $xxr . chr(174);
}
else
{
$xxr = $xxr . chr($xxx);
}
}
return $xxr;
}
Další informace o konferenci Linux