0

Windows フォルダーに 2 つのファイルがあります。ここで説明する手法を使用して、1 つのファイル エンコーディングが ANSI で、別のファイル エンコーディングが UTF-8 であることがわかりました。

ただし、cmd または Powershell を開き、次のコードを使用して IRB でエンコーディングを取得しようとすると、常に「CP850」が表示されます。

File.open(file_name).read.encoding.name # => CP850

また

File.open(file_name).external_encoding.name # => CP850

Notepad++ でも、1 つのファイルが ANSI で、別のファイルが UTF-8 であることがわかります。

WindowsでRubyを使用して適切なエンコーディングを取得するにはどうすればよいですか?

4

1 に答える 1

0

ファイルのエンコーディングを特定することは不可能ですが、知識に基づいて推測することは可能です。

ファイルを開くと、Ruby は単純にデフォルトの 8 ビット エンコーディング (この場合は CP850) でエンコードされていると想定します。

エンコーディングの検出を参照してください

ANSI形式とは何ですか? ANSIについて

于 2013-07-29T18:11:49.843 に答える