1

PythonでCRLFラインターミネータを使用して非ISO拡張ASCII英語テキストをutf-8に変換する方法

4

4 に答える 4

1

Jishiyuの回答を拡張すると、 uchardetを使用してcharセットを識別することができます。例えば

iconv -f `uchardet a_strange_file.txt` -t UTF-8 -o the_output_file.txt a_strange_file.txt

これはPythonでは機能しませんが。

于 2013-12-05T14:31:42.370 に答える
0

Linuxコマンドunix2dos、dos2unix、iconvが役立つと思います。</ p>

のような

iconv -f latin-1 -t UTF-8 latin.txt> utf8.txt

于 2012-05-01T07:26:46.643 に答える
0

入力ファイルの生のバイトストリームを取得した場合は、にdecodeそれを行うことができますutf-8Python3の例をいくつか紹介したこのブログ投稿を参照してください。

ここに画像の説明を入力してください

于 2012-05-01T08:23:54.497 に答える
0

encaライブラリを使用して自動変換スクリプトを作成しました。NASでそれを使用して字幕をUTF-8に変換しますが、自動変換に利用できます。

お気軽にご利用ください:)

編集:

#!/bin/bash
LANGUAGE=czech
TO=utf8
CONVERT="enca -L $LANGUAGE -x $TO"

# Find and onvert
find ./ -type f -name "*.srt" | while read fn; do
  IS_TARGET=`enca "${fn}" | egrep -ow -m 1 'UTF-8|Unrecognized|KOI8-CS2|7bit ASCII|UCS-2|Macintosh Central European'`

    if [ "$IS_TARGET" != "UTF-8" ] &&
       [ "$IS_TARGET" != "UCS-2" ] &&
       [ "$IS_TARGET" != "Macintosh Central European" ] &&
       [ "$IS_TARGET" != "Unrecognized" ] &&
       [ "$IS_TARGET" != "7bit ASCII" ] &&
       [ "$IS_TARGET" != "KOI8-CS2" ]; then

        echo "${fn} ---- Will be converted!"
    # optional backup of original srt
        # cp "${fn}" "${fn}.bak"
        $CONVERT "${fn}"
    fi  

done
于 2016-08-29T12:27:10.453 に答える