ホームページ > バックエンド開発 > PHPの問題 > PHPでintをbyteに変換する方法

PHPでintをbyteに変換する方法

藏色散人
リリース: 2023-03-17 19:24:01
オリジナル
1567 人が閲覧しました

int から byte への変換を実装する

php メソッド: 1. PHP サンプル ファイルを作成します; 2. 「public static function integerToBytes($val) {...}」メソッドを定義します; 3. マスク操作を通じて実装します。 int を BYTE 配列に変換するだけです。

PHPでintをbyteに変換する方法

このチュートリアルの動作環境: Windows 10 システム、PHP バージョン 8.1、DELL G3 コンピューター

php int の変換方法バイトする?

PHP は、INT 型、SHORT 型、および STRING の BYTE 配列への変換を実装します

PHP を実装して、INT 型、SHORT 型、および STRING から BYTE 配列への変換を実装します。

class Bytes {
  public static function integerToBytes($val) {
    $val = (int)$val;
    $byte = array();
    //低位在前,即小端法表示
    $byte[0] = ($val & 0xFF);//掩码运算
    $byte[1] = ($val >> 8 & 0xFF);
    $byte[2] = ($val >> 16 & 0xFF);
    $byte[3] = ($val >> 24 & 0xff);
    return $byte;
  }
 
  public static function bytesToInteger(array $bytes, $pos) {
    $val = 0;
    $val = $bytes[$pos + 3] & 0xff;
    $val <<= 8;
    $val |= $bytes[$pos + 2] & 0xff;
    $val <<= 8;
    $val |= $bytes[$pos + 1] & 0xff;
    $val <<= 8;
    $val |= $bytes[$pos + 0] & 0xff;
    return intval($val);
  }
 
  public static function shortToBytes($val) {
    $val = intval($val);
    $byt = array();
    $byt[0] = ($val & 0xff);
    $byt[1] = ($val >> 8 & 0xff);
    return $byt;
  }
 
  public static function bytesToShort($bytes) {
    $val = 0;
    $val = $bytes[1] & 0xff;
    $val <<= 8;
    $val |= $bytes[0] & 0xff;
    return $val;
  }
 
  public static function String2AsciiArray($str) {
    $str = (string) $str;
    $strLength = strlen($str);
    $rtn = array();
    for($i = 0; $i < $strLength; $i++) {
      $rtn[]= ord($str[$i]);
    }
    return $rtn;
  }
}
ログイン後にコピー

関連紹介: マスクは、ターゲット フィールドに対してビットごとの AND 演算を実行して現在の入力ビットをマスクするバイナリ コードの文字列です。

推奨学習: 「PHP ビデオ チュートリアル

以上がPHPでintをbyteに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート