conversion ebcdic en ascii

conversion ebcdic en ascii - PHP - Programmation

Marsh Posté le 27-07-2004 à 16:34:33    

Salut à tous,
 
A votre avis, existe t-il une truc :??:  pour convertir une chaine de carcatère ebcdic en ascii ???
( ebcdic2ascii n'est pas supporté sur mon serveur ! )
 
Rien trouvé la dessus et ca me serait utile.
 
Merci à tous.
 
Arnaud

Reply

Marsh Posté le 27-07-2004 à 16:34:33   

Reply

Marsh Posté le 27-07-2004 à 17:09:17    

t'a quoi comme version de PHP... c'est supporté depuis la version 3


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 27-07-2004 à 23:32:45    

PHP 3>= 3.0.17
 
int  ebcdic2ascii ( string   ebcdic_str )  
ebcdic2ascii est une fonction spécifique à Apache, qui n'est disponible que sur les OS qui gèrent le format EBCDIC (OS/390, BS2000). Elle traduit la chaîne EBCDIC ebcdic_str en son équivalent ASCII (avec protection des données binaires) et retourne le résultat.  
 
Mais moi, mon OS, il gère pas, c'est un Win XP !!!

Reply

Marsh Posté le 28-07-2004 à 00:51:18    

Faut regarder plus loin que le bout de votre nez les gars :D
http://fr2.php.net/manual/fr/function.ascii2ebcdic.php


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 28-07-2004 à 01:56:02    

Mara's dad a écrit :

Faut regarder plus loin que le bout de votre nez les gars :D
http://fr2.php.net/manual/fr/function.ascii2ebcdic.php


tu parles de quoi là ?


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 28-07-2004 à 11:19:58    

Merde, y'avait une contribution !
Un mec avait fait 2 fontions de remplacements, mais on ne les vois plus :/
 
J'ai pas rèvé, on la voie encore sur webarchive.org !
http://web.archive.org/web/2003062 [...] ebcdic.php
 
Le code :  

// ascii 2 ebcdic
function a2e ($a) {
$a2e = array(0, 1, 2, 3, 55, 45, 46, 47, 22, 5, 37, 11, 12, 13, 14, 15,16, 17,
18, 19, 60, 61, 50, 38, 24,
25, 63, 39, 28, 29, 30, 31,
64, 79,127,123, 91,108, 80,
125, 77, 93, 92, 78,107, 96, 75, 97,240,241,242,243,244,245,246,
247,248,249,122, 94, 76,126,110,
111,124,193,194,195,
196,197,198,199,200,201,209,
210,211,212,213,214,215,216,
217,226,227,228,229,230,231,232,
233, 74,224, 90, 95,109,121,129,130,131,132,
133,134,135,136,137,145,146,147,
148,149,150,151,152,153,162,163,
164,165,166,167,168,169,192,106,
208,161, 7,32, 33, 34, 35, 36, 21,
6, 23, 40, 41, 42, 43, 44, 9, 10, 27,
48, 49, 26, 51, 52, 53, 54, 8, 56, 57,
58, 59, 4, 20, 62,225,65, 66, 67, 68,
69, 70, 71, 72, 73, 81, 82, 83, 84, 85, 86, 87,88, 89, 98, 99,100,101,102,103,104,105,112,113,
114,115,116,117,118,119,120,128,138,
139,140,141,142,143,144,154,155,156,
157,158,159,160,170,171,172,173,174,
175,176,177,178,179,180,181,182,183,
184,185,186,187,188,189,190,191,202,
203,204,205,206,207,218,219,220,221,
222,223,234,235,236,237,238,239,250,
251,252,253,254,255);
$e = '';
for ($i = 0 ; $i < strlen($a) ; $i++) { $e .= chr($a2e[ord(substr($a,$i,1))]); }
return $e;
}
 
// ebcdic 2 ascii
function e2a ($e) {
$e2a = array(0, 1, 2, 3,156, 9,134,127,151,141,
142, 11, 12, 13, 14, 15,16, 17, 18,
19,157,133, 8,135, 24, 25,146,143,
28, 29, 30, 31,128,129,130,131,132, 10, 23, 27,136,137,138,139,140, 5, 6, 7,144,145, 22,147,148,149,150, 4,152,153,154,155, 20, 21,158, 26,32,160,161,162,163,164,165,166,
167,168, 91, 46, 60, 40, 43, 33,38,169,170,171,172,173,174,175,
176,177, 93, 36, 42, 41, 59, 94,45, 47,178,179,180,181,182,183,184,185,
124, 44, 37, 95, 62, 63,186,187,188,
189,190,191,192,193,
194, 96, 58, 35, 64, 39, 61, 34,195,
97, 98, 99,100,101,102,103,104,105,
196,197,
198,199,200,201,202,106,107,108,109,
110,111,112,113,114,203,204,205,206,
207,208,209,126,115,116,117,118,119,
120,121,122,210,211,212,213,214,215,
216,217,218,219,220,221,222,223,224,
225,226,227,228,229,230,231,123, 65,
66, 67, 68, 69, 70, 71, 72, 73,232,233,
234,235,236,237,125, 74, 75, 76, 77,
78, 79, 80, 81, 82,238,239,240,241,242,
243,92,159, 83, 84, 85, 86, 87, 88, 89, 90,244,245,246,247,248,249,48, 49,
50, 51, 52, 53, 54, 55, 56, 57,250,251,
252,253,254,255);
$a = '';
for ($i = 0 ; $i < strlen($e) ; $i++) { $a .= chr($e2a[ord(substr($e,$i,1))]); }
return $a;
}


Message édité par Mara's dad le 28-07-2004 à 11:20:23

---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed