チャンク エンコーディング経由で送信しようとしている本文に「\r\n」が含まれているとします。それがチャンク区切りとして解釈されないようにするにはどうすればよいですか?
例: 「あなたの基地はすべて\r\n私たちのものです」
チャンク エンコーディング経由で送信しようとしている本文に「\r\n」が含まれているとします。それがチャンク区切りとして解釈されないようにするにはどうすればよいですか?
例: 「あなたの基地はすべて\r\n私たちのものです」
"\r\n" は、実際にはチャンク区切り文字ではありません。チャンク サイズは、そのチャンクのデータによって構成されるバイト数を指定します。クライアントは、メッセージに埋め込まれた「\r\n」を問題なく読み取る必要があります。
設計上、それはまったく問題ではありません。各チャンクは、そのデータ ブロックのバイト サイズを指定します。各データ ブロックの内容は任意であり、そのまま受信する必要があるため、改行を含めることができます。クライアントが各チャンクを正しく読み取っている場合 (行を読み取り、そこからバイト サイズを解析し、指定されたバイト数を読み取り、改行を読み取る)、データに改行があっても問題ありません。クライアントは、改行ではなく、バイト サイズに基づいてデータを読み取っています。