Je cherche à convertir une chaîne dire 'Hello' du monde à sa valeur ASCII en php. Mais je ne veux pas utiliser ord()
. Existe-t-il d'autres solutions pour imprimer la valeur ASCII sans utiliser ord()
?
Décompresse une chaîne binaire dans un tableau selon le format donné.
Utilisez le formatC*
pour renvoyer tout ce que vous obtiendrez de ord()
.
print_r(unpack("C*", "Hello world"));
Array
(
[1] => 72
[2] => 101
[3] => 108
[4] => 108
[5] => 111
[6] => 32
[7] => 119
[8] => 111
[9] => 114
[10] => 108
[11] => 100
)
Vous pouvez essayer la fonction native iconv
:
string iconv ( string $in_charset , string $out_charset , string $str )
Donc ce serait:
<?php
$string = "This is the Euro symbol '€'.";
echo iconv("UTF-8", "ASCII", $text), PHP_EOL;
?>
Extrait de: http://php.net/manual/en/function.iconv.php
Vous pouvez parcourir chaque caractère de la chaîne, trouver son offset dans une chaîne de dictionnaire en utilisant say strpos , puis ajouter un numéro de base, par exemple 65 si votre dictionnaire commence par "ABC...
Vous devez gérer les caractères non trouvés. Il est donc préférable d’utiliser un dictionnaire " #ABC ... puis d’ajouter une base de 64 , de toute évidence, vous devez tester pour "#" comme caractère spécial, alors.
Vous pouvez même tester plusieurs chaînes distionaires pour des jeux de caractères limités " # A..Z ", " # a..z ", " # 0..9 "
Vous avez l’idée, mais sans savoir pourquoi vous voulez vous limiter, je ne peux pas vous dire si cela vous est utile.