Пример #1
0
 /**
  * Retourne un tableau des caractères de $sInputString sous leur forme ordinale.
  * 
  * @param string $sInputString Chaîne de caractères dont les caractères sont à retourner en ordinal.
  * @return array Tableau indexé.
  */
 protected function _getOrds($sInputString)
 {
     $aOrds = array();
     if ($this->_oString->getEncoding() === Encoding::UTF_8) {
         $sString = mb_convert_encoding($sInputString, Encoding::UCS_4BE, Encoding::UTF_8);
         for ($iCharIndex = 0; $iCharIndex < mb_strlen($sString, Encoding::UCS_4BE); $iCharIndex++) {
             // Calcul de la valeur totale des 4 bits
             $sStringChar = mb_substr($sString, $iCharIndex, 1, Encoding::UCS_4BE);
             $aUnpackedData = unpack('N', $sStringChar);
             $aOrds[] = $aUnpackedData[1];
         }
     } else {
         r::char()->setModifiers($this->_m())->matchAll($sInputString, $aChars);
         foreach ($aChars as $sChar) {
             $aOrds[] = ord($sChar);
         }
     }
     return $aOrds;
 }