phpStringとbyteバイト配列変換クラスの例
php
/**
* バイト配列と文字列変換分類
*/
クラスバイト {
/**
* を文字列に変換文字列をbyte配列に変換
* @para m convert文字列を必要とします
* @param $bytes ターゲット byte配列
* @author Zikie
*/
public static function getBytes($string) {
$bytes = array();
for($i = 0; $i < strlen($string); $i++){
$bytes[] = ord($string[$i]);
}
$bytes を返します。
}
/**
* バイト配列からをString型データに変換
* @param $bytes バイト配列
* @param $str ターゲット 文字列
* @return A String型データ
*/
パブリック静的関数 toStr($bytes) {
$str = '';
foreach($bytes as $ch) {
$str .= chr($ch);
}
return $str;
}
/**
* Convert int を byte配列
配列 * @param $ val は
convert
を変更して を変更する必要があります文字列*/
public static function integerToBytes($val) {
$byt = array();
$byt[0] = ($val & 0xff);
$byt[1] = ($val >> 8 & 0xff);
$byt[2] = ($val >> 16 & 0xff);
$byt[3] = ($val >> 24 & 0xff);
$byt を返します。
}
/**
* バイト配列の指定位置から整数型データを読み込みます
* @param $bytes バイト配列
* @param $ 位置 Location で指定された開始位置
* @整数型データを返す
*/
public static function bytesToInteger($bytes, $position) {
$val = 0;
$val = $bytes[$position + 3] & 0xff;
$val <<= 8;
$val |= $bytes[$position + 2] & 0xff;
$val <<= 8;
$val |= $bytes[$position + 1] & 0xff;
$val <<= 8;
$val |= $bytes[$position] & 0xff;
$val を返します。
}
/**
* を短い 文字列 から byte 配列
* @para m $ bytターゲットバイト配列
* @param $val は 文字列 を変更するために convert
する必要があります*/
public static function shortToBytes($val) {
$byt = array();
$byt[0] = ($val & 0xff);
$byt[1] = ($val >> 8 & 0xff);
$byt を返します。
}
/**
* バイト配列の指定位置から Short 型データを読み込みます。
* @param $bytes バイト配列
* @param $position 指定された開始位置
* @return a Short 型のデータ
*/
public static function bytesToShort($bytes, $position) {
$val = 0;
$val = $bytes[$position + 1] & 0xFF;
$val = $val << 8;
$val |= $bytes[$position] & 0xFF;
$val を返します。
}
}
?>
以上、php 文字列とバイト文字列の変換例を紹介しましたが、これには側面の内容も含まれており、PHP 教則に関心のある友人の助けになることを望みます。