0

プロトコルは次のとおりです。

1) 英数字を含むテキスト ファイルを PHP でオンラインで生成します。次に、それをダウンロードし、そのサイズをメモします ([プロパティ] メニューから)。

2)メモ帳++でテキストファイルを開き、すべてのコンテンツを新しいテキストファイルに切り取り、新しいファイルを(同じ名前で)保存します。

3) 驚いたことに、両方のファイルのテキスト コンテンツがまったく同じであるにもかかわらず、サイズが同じではありません。

--テスト 1 --

ダウンロードしたファイル: 1529 Ko

新しいコピー ファイル: 1594 Ko

--テスト 2 --

ダウンロードファイル:52コ

新しいコピー ファイル: 54 Ko


だから何?なぜこれをここに投稿するのですか?問題のファイルは、ユーザーが私の Web サイトからダウンロードできるため、ユーザーはそれを使用してゲームの保存ファイルを置き換えることができます。ただし、ゲームは新しいファイルを拒否することで反応しますが、コピーされたファイル (上記のプロトコルを使用) は正常に動作します。

両方のファイルに見られる唯一の違いはサイズです(上記のようにわずかな違いがあります)が、内容と名前は同じです。なぜそのサイズの違いがあるのか​​ わかりますか?

4

2 に答える 2

1

これは、ほとんどの場合、UNIX (1 バイト) と Windows (2 バイト) の間で変換される改行です。

コメントで述べたように、エンコードも可能ですが、NotePad++ はエンコードが得意です。また、違いを説明することもほとんどありません。

ファイルサイズを小さくするには、「\r\n」を「\n」に変換する必要があります。いくつかのオプションで見つけたページを次に示します

注意すべきもう 1 つのことは、あまり明白ではない末尾の「改行」です。繰り返しますが、比較を行う前にそれを取り除いてください。

于 2012-08-29T05:54:19.803 に答える
0

クライアントとサーバーは異なるプラットフォームですか? Linux と Windows と言いますか?その場合、改行文字の格納方法に違いがあります。これにより、サイズの違いが生じる可能性があります。別の理由として、使用されている文字エンコーディングが考えられますが、その可能性はほとんどありません。

于 2012-08-29T05:58:29.280 に答える