Главная страница
    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.032 c
14-1082633593
gn
2004-04-22 15:33
2004.05.16
Установлен новый рекорд скорости передачи данных в интернете


4-1079983789
Ангел.
2004-03-22 22:29
2004.05.16
LoadAccelerators


4-1080283422
kentavr
2004-03-26 09:43
2004.05.16
Client&amp;server


6-1080193377
бОт
2004-03-25 08:42
2004.05.16
Форма в виде вэб-страницы


1-1082965904
Victor_A
2004-04-26 11:51
2004.05.16
Как засунуть модуль .dll в .EXE и работать с ним от туда





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский