PHPで16進数をASCIIコードに変換する方法

藏色散人
リリース: 2023-03-11 18:28:02
オリジナル
3520 人が閲覧しました

php で 16 進数を ASCII コードに変換する方法: 1. bex2bin 関数を使用して 16 進数を ASCII 文字に変換します; 2. Pack 関数を使用して 16 進数を ASCII 文字に変換します。

PHPで16進数をASCIIコードに変換する方法

この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 パソコン

16 進数の変換方法アスキーコードはphp?

16 進数を ASCII 文字に変換する

PHP で hex2bin 関数を使用して 16 進数を ASCII 文字に変換します。php5 には bex2bin 関数がありません。今回は、pack 関数を使用して 16 進数を ASCII 文字に変換できます。

bex2bin 関数の構文は次のとおりです:

hex2bin(string)
ログイン後にコピー

パラメータ文字列は、変換する必要がある 16 進数です。

pack 関数の構文は次のとおりです:

pack(format,args+)
ログイン後にコピー

パラメータの説明:

format: 必須 データをパッケージ化するときに使用される形式を指定します。オプションのパラメータ値:

a - NUL 填充的字符串 A - SPACE 填充的字符串 h - 十六进制字符串,低位在前 H - 十六进制字符串,高位在前 c - signed char C - unsigned char s - signed short(总是16位, machine 字节顺序) S - unsigned short(总是16位, machine 字节顺序) n - unsigned short(总是16位, big endian 字节顺序) v - unsigned short(总是16位, little endian 字节顺序) i - signed integer(取决于machine的大小和字节顺序) I - unsigned integer(取决于machine的大小和字节顺序) l - signed long(总是32位, machine 字节顺序) L - unsigned long(总是32位, machine 字节顺序) N - unsigned long(总是32位, big endian 字节顺序) V - unsigned long(总是32位, little endian 字节顺序) f - float(取决于 machine 的大小和表示) d - double(取决于 machine 的大小和表示) x - NUL 字节 X - 备份一个字节 Z - NUL 填充的字符串 @ - NUL 填充绝对位置
ログイン後にコピー

args: オプションで、パックする 1 つ以上のパラメータを指定します。

bex2bin 関数は、16 進数を ASCII 文字に変換します。例は次のとおりです。

$str = '49206c6f7665e4b8ade59bbd'; $str = hex2bin($str); echo $str;
ログイン後にコピー

出力結果は次のとおりです:

I love中国
ログイン後にコピー

ただし、hex2bin 関数を実行すると、次のエラーが報告される場合があります:

hex2bin(): Hexadecimal input string must have an even length
ログイン後にコピー

上記のエラーには 2 つの理由が考えられます:

1: 16 進数の中に 16 進数ではない文字が含まれている可能性があります

2: 16 進数の文字長が奇数です

したがって、次のように書くことができます:

$str = '49206c6f7665e4b8ade59bbd'; $str = @hex2bin($str); if ($str) { echo $str; } else { echo 0; }
ログイン後にコピー

16 進数を ASCII 文字に変換する Pack 関数の例は次のとおりです。

$str = '49206c6f7665e4b8ade59bbd'; $str = pack("H*", $str); echo $str;
ログイン後にコピー

上記と同様、これは 16 進数を ASCII 文字に変換する最初のステップです。

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

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

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!