Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];

Вниз

UTF-8 декодирование   Найти похожие ветки 

 
Undert ©   (2004-04-26 12:15) [0]

Как обычными примитивами паскалевского языка перекодировать сабж например в Windows-1251 ?


 
Тимохов ©   (2004-04-26 12:22) [1]

Посмотрите в d6 исходный код функции UTF8Decode в модуле system.


 
Паниковский ©   (2004-04-26 12:22) [2]

Это API функции могут делать.
Посмтори по справке точное название не помню.


 
Undert ©   (2004-04-26 12:27) [3]

Хмм... а там примитивами и не пахнет :-)
У меня задача то на php функцию такую сделать ...


 
Undert ©   (2004-04-26 12:33) [4]

string utf8_decode ( string data)
не совсем устраивает, хочется альтернативы


 
VMcL ©   (2004-04-26 12:37) [5]

>>Undert ©  (26.04.04 12:27) [3]

Дык это, в PHP уже есть, вроде:

utf8_decode

(PHP 3>= 3.0.6, PHP 4 )

utf8_decode -- Converts a string with ISO-8859-1 characters encoded with UTF-8 to single-byte ISO-8859-1.

Description

string utf8_decode ( string data)

This function decodes data, assumed to be UTF-8 encoded, to ISO-8859-1.

See utf8_encode() for an explaination of UTF-8 encoding.

utf8_encode

(PHP 3>= 3.0.6, PHP 4 )

utf8_encode -- encodes an ISO-8859-1 string to UTF-8

Description

string utf8_encode ( string data)

This function encodes the string data to UTF-8, and returns the encoded version. UTF-8 is a standard mechanism used by Unicode for encoding wide character values into a byte stream. UTF-8 is transparent to plain ASCII characters, is self-synchronized (meaning it is possible for a program to figure out where in the bytestream characters start) and can be used with normal string comparison functions for sorting and such. PHP encodes UTF-8 characters in up to four bytes, like this:

Таблица 1. UTF-8 encoding

bytes
bits
representation

1
7
0bbbbbbb

2
11
110bbbbb 10bbbbbb

3
16
1110bbbb 10bbbbbb 10bbbbbb

4
21
11110bbb 10bbbbbb 10bbbbbb 10bbbbbb

Each b represents a bit that can be used to store character data.


 
VMcL ©   (2004-04-26 12:37) [6]

>>Undert ©  (26.04.04 12:33) [4]

Oops, не успел :)


 
Undert ©   (2004-04-26 13:11) [7]

Типа нашел! Спасибо всем!

function utf8win1251($s) {
 $out = "";
 $c1  = "";
 $byte2 = false;
 for ($c=0;$c<strlen($s);$c++) {
    $i = ord($s[$c]);
    if ($i<=127) $out.=$s[$c];
    if ($byte2) {
      $new_c2 = ($c1&3)*64+($i&63);
      $new_c1 = ($c1>>2)&5;
      $new_i = $new_c1*256+$new_c2;
      if ($new_i==1025) $out_i=168; else
      if ($new_i==1105) $out_i=184; else $out_i=$new_i-848;
      $out.=chr($out_i);
      $byte2 = false;
    }; //if
    if (($i>>5)==6) {
      $c1 = $i;
      $byte2 = true;
    }; //if
 }; //if
return $out;
}; //func



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.035 c
1-1083165712
KEBZ
2004-04-28 19:21
2004.05.16
Memo и TXT


1-1083492460
TechnoDreamer
2004-05-02 14:07
2004.05.16
Выезжающая боковая панель


6-1080208521
Valentin
2004-03-25 12:55
2004.05.16
нужен модуль


14-1082681741
alexandri
2004-04-23 04:55
2004.05.16
Такие вот дела ....


6-1080039228
V@LER@N
2004-03-23 13:53
2004.05.16
Сниффер - не сниффер...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский