ホームページ >バックエンド開発 >PHPの問題 >PHPのunpack関数の使い方

PHPのunpack関数の使い方

藏色散人
藏色散人オリジナル
2019-05-27 09:45:572540ブラウズ

php unpack 関数は、バイナリ文字列からデータを解凍するために使用されます。構文は unpack(format,data) です。パラメータの形式は必須であり、データを解凍するときに使用される形式を指します。

PHPのunpack関数の使い方

#PHP の unpack 関数を使用するにはどうすればよいですか?

定義と使用法

unpack() 関数は、バイナリ文字列からデータを解凍します。

構文

unpack(format,data)

パラメータ

形式は必須です。データを解凍するときに使用する形式を指定します。

可能な値:

#● a - NUL で埋められた文字列

# ● A - スペースで埋められた文字列

# ● h - 16 進数の文字列、下位バイトが最初

# H - 16 進文字列、上位バイトが最初

# c - 符号付き char

● C - 符号なし char

● s - signed short (常に 16 ビット、マシン バイト オーダー)

#S - unsigned short (常に 16 ビット、マシン バイト オーダー)

● n - unsigned short (常に 16 ビット、ビッグ エンディアン バイト)順序)

# v - 符号なし short (常に 16 ビット、リトル エンディアンのバイト オーダー)

● i - 符号付き整数 (マシン サイズとバイト オーダーに依存)

# I - 符号なし整数 (マシンのサイズとバイト順に依存)

#● l - 符号付き長整数 (常に 32 ビット、マシンのバイト順)

# L - 符号なし長整数 (常に 32 ビット、マシンバイトオーダー)

## N - 符号なしロング (常に 32 ビット、ビッグエンディアンのバイトオーダー)

# V - 符号なしロング (常に 32 ビット、リトルエンディアンのバイトオーダー)

● f - float (マシンのサイズと表現に依存)

# d - double (マシンのサイズと表現に依存)

● x - NUL バイト

● X - バックアップ 1 バイト

# Z - NUL で埋められた文字列

# @ - NUL で埋められた絶対位置

## データ 必須。解凍するバイナリデータを指定します。

戻り値:

成功した場合は配列を返し、失敗した場合は FALSE を返します。

PHP バージョン: 4

変更ログ:

PHP 5.5.0 以降、Perl との互換性のために次の変更が加えられました:

"a" code 末尾の NULL バイトは予約されています。

「A」コードは、末尾の ASCII 空白をすべて削除します。

NUL 埋め込み文字列に「Z」コードを追加し、末尾の NULL バイトを削除しました。

例 1

データの解凍:

<?php
$data = "PHP";
print_r(unpack("C*myint",$data));
?>
例 2

## データの解凍:

<?php
$bin = pack("c2n2",0x1234,0x5678,65,66);
print_r(unpack("c2chars/n2int",$bin));
?>

バイナリ文字列からのデータの解凍:

<?php
$data = "PHP";
print_r(unpack("C*",$data));
?>

出力:

Array ( [1] => 80 [2] => 72 [3] => 80 )

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。