3

Apple のドキュメントに従って、エンコーディングが不明なテキスト ファイルのコンテンツを表示しようとしています。

stringWithContentsOfFile:usedEncoding:error: または initWithContentsOfFile:usedEncoding:error: (または URL ベースの同等のもの) を試してください。これらのメソッドは、リソースのエンコーディングを決定しようとし、成功した場合は、使用されたエンコーディングを参照によって返します。

(1) が失敗した場合は、エンコーディングとして UTF-8 を指定して、リソースの読み取りを試みます。

(2) が失敗した場合は、適切なレガシー エンコーディングを試してください。ここでの「適切」は、状況によって少し異なります。それはデフォルトの C 文字列エンコーディングかもしれませんし、ISO や Windows Latin 1 かもしれませんし、データがどこから来ているかにもよりますが、何か他のものかもしれません。

これは常に機能するとは限りません。エンコーディングを検出するためのより信頼できる方法はありますか?

4

2 に答える 2

0

データのエンコードが事前にわからない場合は、生データの分析を通じて推測する必要があります。これにより、誤った推測が行われ、信頼性の低いデコードが行われることがあります。疑問がある場合は、使用するエンコーディングをユーザーに尋ねてください。

于 2013-03-14T01:31:49.560 に答える