整数を文字列形式に変換することで、いくつかの問題に遭遇しました。C# でまさに必要としているこれらの PHP 関数を取得しました。
function _hex($int)
{
return (strlen(sprintf("%X", $int)) % 2 == 0) ? sprintf("%X", $int) : sprintf("0%X", $int);
}
Function hex2str($hexstr)
{
$hexstr = str_replace(' ', '', $hexstr);
$hexstr = str_replace('\x', '', $hexstr);
$retstr = pack('H*', $hexstr);
return $retstr;
}
彼らはそう呼ばれます:
$total_length = hex2str(_hex(strlen($content)));
C#で私はこれを試しました:
String test = "1234567890123456789012345678901234567890123456789";
short l = (short)test.Length;
byte[] TotalLength = Encoding.GetEncoding(28591).GetBytes(l.ToString());
PHPs HexDump の結果は00 3C
- C# では34 39
結果は次の形式の文字列として期待されます。
\x00\x3c
こんにちは、モーリッツ