web-dev-qa-db-ja.com

PHPの\ x00、\ x04の意味は何ですか

私は\ x00および\ x0416進コード、それはどういう意味ですか?

$str= implode("\x00", $var['message']); //line 1
$id= $var['message'] . "\x04" . $id;    //line 2

line1およびline2で何が起こるかbinary formatとしてこれらを外部ファイルに書き込みたい。

このようなすべての情報はどこで入手できますか。

39
coderex

\xは16進表記を示します。参照: PHP文字列

ASCIIテーブル を見て、0x00と0x04が何を表しているかを確認してください。

0x00 = NULL
0x04 = EOT (End of transmission)
57
Philippe Gerber

\ xは、次の2文字が16進数を表すことを示す方法です。 2桁の16進数(それぞれ4ビット)がバイトを構成します。

10進数バージョンが何であるかを知りたい場合は、「a」が10、「b」が11などであることに留意して、左の数字に16を掛けて右の数字に加算します。

他のプログラミング言語では、ドル記号またはシーケンス0xを使用して16進数にフラグを立てることもできます。


数字は何でも表すことができます。時にはそれらは制御コードです。 an ASCII table を確認してください。

9
Nosredna

\ x04はASCIIの伝送終了です。これは、ほとんどのC言語に似ています。

2
Kawa
2
fresskoma

\xHHは、その16進値を持つバイトを記述するエスケープシーケンスです。

そう \x00は、値0のバイトを説明します、\x04値4のバイト。このエスケープシーケンスは、 二重引用符で囲まれた文字列 でのみ補間されることに注意してください。

1
Gumbo