Главная страница
    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
3-1082543669
avgur
2004-04-21 14:34
2004.05.16
Вопрос о истории значеий


14-1082707191
Haker
2004-04-23 11:59
2004.05.16
Книга


6-1080373573
<Lamer>
2004-03-27 10:46
2004.05.16
Как узнать IP-адрес


14-1083088168
Hawk2
2004-04-27 21:49
2004.05.16
Анимашки


7-1080772670
Colonel
2004-04-01 02:37
2004.05.16
System menu





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