※ ChatGPTを利用し、要約された質問です(原文:PHPのバイナリ型文字列の取り扱いについて)
PHPのバイナリ型文字列取り扱いの問題
このQ&Aのポイント
PHPにおいて、バイナリ型文字列の取り扱いについて困っています。標準入力で受け取ったバイナリ型とアスキー型が混ざった文字列を処理するコーディングをしていますが、バイナリ型文字列のバイト数が認識されない問題が発生しています。
具体的には、標準入力で受け取った文字列を読み込む際に、バイナリ型文字列が2バイトとして認識されるはずなのに、PHP上では4バイトと認識されてしまいます。
問題の原因や解決方法についてご教示いただきたいです。
お世話になります。
PHPについて困っている事がありまして、ご質問させて頂きます。
現在標準入力でバイナリ型とアスキー型の混ざった文字列を
受け取り処理をするコーディングをしているのですが
------------------------------------------------
FFFF1B
------------------------------------------------
※FFFF(バイナリ型:2byte)1B(アスキー型:2byte)
上記の文字列を標準入力し、以下のコードを実行すると
$fp = fopen("php://stdin", "rb");
$contents = fread($fp, 4);
echo $contents;
---------------------------------------------
出力結果
---------------------------------------------
FFFF
_______________________________________________________________________
と表示され、FFFFはバイナリ型なので2バイト(だと思うのですが、、)
なのに、php上では4バイトと認識されてしまいます。
どこかおかしい所があればご指摘頂きたく思います。
また、勘違いしている点があれば是非ご指摘くださいます様
宜しくお願いします。
大変お手数ですが宜しくお願いします。
お礼
お礼大変遅くなりまして申し訳ございません。。 貰っていたデータがバイナリではなく普通のString文字列でした。。