2
4

1 に答える 1

0

ファイルのエンコーディングを事前に知らなくても、できる最善の方法は、そのエンコーディングが何であるかを推測することです。

この素晴らしい記事を読むことをお勧めします: http://www.joelonsoftware.com/articles/Unicode.html

読むのは楽しいし、私は個人的に貴重な情報/説明をそこに見つけました.

しかし、この記事の主な要点は次のとおりです。

使用するエンコーディングを知らずに文字列を取得しても意味がありません。


理論はさておき、実際には、送信/アップロードしたばかりのファイルのエンコーディングをユーザーに尋ねることが不可能な場合があることを私は知っています。

繰り返しますが、あなたができる最善のことは推測です。

私はキャリアの中でこの問題に数回対処してきましたが、そのたびに、開発中のシステムの性質に応じて、十分に優れたエンコーディング推測アルゴリズムを見つけることができました。

最善の方法は、できるだけ多くのサンプル ファイルを取得し、それらのエンコーディングを手動で分析して、次のようなパターンを見つけられるかどうかを確認することです。

  • ISO-8859-1 を使用するユーザー A と B を除く、すべてのユーザーが UTF-8 でエンコードされたファイルを送信します。
  • ファイルに特定のバイト シーケンスが含まれている場合は、エンコード A である可能性が非常に高く、それ以外の場合はデフォルトのエンコード B を使用します。
于 2013-01-29T08:22:26.703 に答える