2043 次
1 に答える
0
ファイルのエンコーディングを事前に知らなくても、できる最善の方法は、そのエンコーディングが何であるかを推測することです。
この素晴らしい記事を読むことをお勧めします: http://www.joelonsoftware.com/articles/Unicode.html
読むのは楽しいし、私は個人的に貴重な情報/説明をそこに見つけました.
しかし、この記事の主な要点は次のとおりです。
使用するエンコーディングを知らずに文字列を取得しても意味がありません。
理論はさておき、実際には、送信/アップロードしたばかりのファイルのエンコーディングをユーザーに尋ねることが不可能な場合があることを私は知っています。
繰り返しますが、あなたができる最善のことは推測です。
私はキャリアの中でこの問題に数回対処してきましたが、そのたびに、開発中のシステムの性質に応じて、十分に優れたエンコーディング推測アルゴリズムを見つけることができました。
最善の方法は、できるだけ多くのサンプル ファイルを取得し、それらのエンコーディングを手動で分析して、次のようなパターンを見つけられるかどうかを確認することです。
- ISO-8859-1 を使用するユーザー A と B を除く、すべてのユーザーが UTF-8 でエンコードされたファイルを送信します。
- ファイルに特定のバイト シーケンスが含まれている場合は、エンコード A である可能性が非常に高く、それ以外の場合はデフォルトのエンコード B を使用します。
于 2013-01-29T08:22:26.703 に答える