главная страница
материалы
  ms access и bitmap
  win в ucs-2 на perl
  приложение facebook
  медиа библиотека
  восстановление exif
  netgear stora
  netgear stora usb
  html и javascript
  openwrt upgrade
  yandex dns
  playlist vbs
  фотоархив
  node.js
  изменения в mrtg
  windows
  конвертация
  перекодировка для tv
  перекодировка для tvix

Перекодировка из Win в UCS-2 на Perl'e

В первой строчке цикла происходит замены буквы Ё, во второй - ё, в третьей - латинские буквы и символы оставляются на нулевой странице UCS-2, в четвертой - меняются кириллические символы.

Perl

В примере $text - исходный текст в кодировке windows-1251, $ucs - получаемый текст в кодировке UCS-2.
my $ucs='';

foreach $byte (split //, $text) {
     if (ord($byte) == 168) {$ucs="$ucs\4\1"}    
  elsif (ord($byte) == 184) {$ucs="$ucs\4\121"}
  elsif (ord($byte) <= 176) {$ucs="$ucs\0$byte"}
   else {$ucs="$ucs\4".chr(ord($byte)-176)}
}