Вниз
Скачать: CL | DM;

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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: -0.976 c
1-1083583253
Шишкин Илья
2004-05-03 15:20
2004.05.16
ZIP архивы


9-1073424736
Orcy
2004-01-07 00:32
2004.05.16
Как загрузить 3ds в OpenGL


14-1082647615
panov
2004-04-22 19:26
2004.05.16
Алгоритм перноса слов в строке.


1-1083321384
Vitaliy
2004-04-30 14:36
2004.05.16
Кто работал с компонентом PrintPreview?


6-1079716680
rulezz
2004-03-19 20:18
2004.05.16
Delphi + indy + post




   Наверх