UbuntuのgEditで開くと、歪んで表示される.srtファイルがあります。だからそれを読むためにutf8に変換したいと思います。
どのエンコーディングが提供されているかを調べようとすると、次のようになります。
file -i x.srt
x.srt: text/plain; charset=unknown-8bit
別の試みで、次のことがわかりました。
find . -type f -print | xargs file
./x.srt: Non-ISO extended-ASCII text, with CRLF line terminators
私もencaを試しました:
enca x.srt
enca: Cannot determine (or understand) your language preferences.
Please use `-L language', or `-L none' if your language is not supported
(only a few multibyte encodings can be recognized then).
Run `enca --list languages' to get a list of supported languages.
そして
enca -L Persian x.srt
enca: Cannot determine (or understand) your language preferences.
Please use `-L language', or `-L none' if your language is not supported
(only a few multibyte encodings can be recognized then).
Run `enca --list languages' to get a list of supported languages.
だから、エンコーディングを知り、最終的に利用可能な形式に変換する方法を知りたいです。
ベストアンサー1
未知のエンコーディングを既知のエンコーディングに変換する安定した方法はありません。
あなたの場合、元のテキストがペルシャ語/ペルシャ語であることがわかっている場合は、可能なエンコード数を識別し、必要な出力が表示されるまでこれを繰り返すことができます。
クイックGoogle検索の結果標準的で信頼性の高いレガシーコンバータはありません。イランシステムエンコーディング、残りの唯一の普及した代わりはWindowsコードページ1256。私は含んでいたアラビアの馬主に説明の目的でここにあります(Farsiの実行可能な代替手段になるかもしれませんが)。
for encoding in cp1256 macarabic; do
if iconv -f "$encoding" -t utf-8 inputfile >outputfile."$encoding"; then
echo "$encoding: possible"
else
echo "$encoding: skipped"
rm outputfile."$encoding"
fi
done
(私のバージョンはiconv
実際にMacArabicをサポートしていませんが、運が良く、他の変換ツールを試してみることもできます。)
生成された出力ファイルを調べて、それらの1つが適切であることを確認してください。
出力がどのように見えるかを知っている場合は、ファイル内の個々のバイトマッピングを見つけることもできます。最初のバイトが0x94であり、ﭖで読み取る必要があることがわかっている場合は、基本的にエンコードがイランシステム用であると判断したものです。この結論を確認するために、さらに数バイトをチェックしてください。このエンコーディングのWikipediaページには、すべての文字を含む表があります。明らかに、これは難しく、遅く、エラーが発生しやすいプロセスです。特に選択候補符号化が多い場合にはさらにそうである。
一部のエンコーディングでは、次のリストがあります。https://tripleee.github.io/8bit/- それ以外の場合は、Wikipediaのコーディングテーブルを見てください。