ビューファイルのエンコーディング
のLinuxでファイルを表示するには、以下の方法により符号化することができます:
1. Vimは直接ファイルのエンコーディングを表示することができ
ます。setファイル・エンコーディング
ファイルのエンコード形式を表示するために。
あなただけの他の形式のファイルを表示するか、Vimの問題で文字化けしたファイルを参照してくださいコーディング解決したい場合は、できる
〜/ .vimrcとファイルに次の行を追加します。
セットエンコーディングは= UTF-8 fileencodings =のUCS-BOM、UTF-8、CP936
このように、あなたはVimは自動的にファイルのエンコーディングを認識させることができます(自動的にUTF-8を認識またはGBKファイルをエンコードされた)に基づいて、実際には、Latin-1のコーディング見つけコーディングなしに適している場合(ASCII)で、fileencodingsを提供しようと、コードリストオープン。
2. encaファイルのエンコーディング表示する(このコマンドは、システムにインストールされていない場合は、-y encaインストールをインストールするにsudo yumを使用することができます)
$ファイル名ENCAの
ファイル名:ユニバーサル変換形式8ビットを、UTF-8
CRLF行終端は
、それが重要であることに留意すべきです、 :認識があるだろう時に、いくつかのGBKのエンコーディングを識別encaファイルは、非常に良いではありません
認識できないエンコーディング
トランスコーディング・ファイル
のVimファイルにおいてそのようなUTF-8形式にファイルを変換するように、ダイレクトコンバージョンをコード
:設定ファイル・エンコーディング= UTF-8
以下のようなGBKする2 enconv変換ファイルのエンコーディングは、UTF-8エンコーディングにファイルをエンコードさ
enconv -L zh_CNに-x UTF-8ファイル名を
3.次のようにiconvの変換、のiconvコマンドのフォーマットは次のとおり
のiconv -f符号-tエンコーディングINPUTFILE
ようGBKエンコーディングにUTF-8でエンコードされたファイルを変換するなど
のiconv -f GBK -t UTF-8ファイルfile1 -o FILE2
この記事のアドレス:http://www.yaronspace.cn/blog/index.php/archives/523
文字化けの理由:
あなたのファイルはUTF-8として宣言され、そしてそれは、ソースファイルのUTF-8エンコーディングで保存する必要がありますので。しかし、ローカルWindowsのデフォルトエンコーディングはそれがGBKコーディング、そのコンソールで、CP936であります
ダイレクトプリントUTF-8文字列はもちろん歪みです。
溶液:
OKトランスコーディングを使用して印刷コンソールで、そうライトを印刷:
。印刷myname.decode(「UTF-8」)(「GBK」)をコードする
より一般的なアプローチは次のようになります。
インポートSYS
= sys.getfilesystemencodingタイプ()
印刷myname.decode( 'UTF-8')。(タイプ)をコード
最近の使用Pythonはいくつかのオンラインデータをつかむ、我々はコーディングの問題に遭遇しました。頭痛は、使用する溶液をまとめます。
- Linuxのコマンド・セット・ファイル・エンコーディングの下でのvimのViewファイルのエンコーディング
- 強力なパッケージchardetでPythonコードの検出は、非常にシンプルな使用します。chardetをインストールPIP Linuxを使用して簡単なインストール
1
2
3
4
|
import
chardet
f
=
open
(
'file'
,
'r'
)
fencoding
=
chardet.detect(f.read())
print
fencoding
|
出力形式{:0.96630842899499614、「エンコーディング」:「信頼」「2312」を} fencoding、確率のみ特定のコードか否かが判断されます。より正確な結果。STR型入力パラメータ。
- PythonのSTRを学ぶことができる符号化した後の符号化変換デコード及びエンコードを使用して達成します。
これは一般的なフローであるSTR STRデコードを使用して符号化方法と、Unicode文字列型にそれを復号化し、特定の符号化の使用は、変換するための特定の符号化Unicode文字列型をエンコードする方法。strのPythonでUnicodeと以下のように、二つの異なるタイプに属します。
- 一般的には、ウィンドウのデフォルトのエンコーディングのGBK、Linuxのデフォルト・エンコーディングUTF8
- Pythonプログラミングコーディングシステム、Pythonコードの概念、ファイルのエンコーディング。
システムコード:ソースコードを書くためのデフォルトのエンコーディングエディタ。これは、ソースファイルがワード方法に従ってバイナリコードストリームに符号化された内のコンテンツのすべてを表します。ディスクに保存されました。Linuxでlocaleコマンドによって表示します。
Pythonのコーディング:Pythonで提供手段をデコードします。設定されていない場合は、、Pythonのデフォルトは、ASCIIデコードモードです。中国は、Pythonのソースコードファイルを表示されない場合は、この場所はセットが問題になることはありません方法です。
設定方法: - - *コード#:ソース・ファイルの先頭には(それは最初の行でなければならない)UTF-8 - * - 、復号化方式は、UTF-8であるソースファイルを提供または
1
2
3
|
import
sys
reload
(sys)
sys.setdefaultencoding(
'UTF-8'
)
|
ファイルのエンコーディング:テキストのエンコーディング、Linuxのvimの使用セットファイル・エンコーディングビューの下で。
- その理由は、出力歪みは、一般に、システムデコーダのように符号化されません。
例えばプリントS、S型STRのために、Linuxシステムは、システムのデフォルトエンコーディングUTF8エンコードされた出力がUTF8としてエンコードされるべき前です。sがGBK符号化である場合にはこれを出力する必要があります。印刷s.decode( 'GBK')。出力中国語( 'UTF8')をコードします。
同じウィンドウの場合に続いて、ウィンドウのデフォルトのエンコーディングは、GBKの出力の前にエンコードする必要があり、GBKのエンコーディングです。
- PythonのUnicodeの一般的な処理プロセスの種類。このようにエンコードする前に直接出力することができます。
1. http://blog.sina.com.cn/s/blog_40e1ba640102wm26.htmlを回し
2.http://www.cnblogs.com/joeyupdo/archive/2013/03/03/2941737.html
以下にに記載のリンク2のコピーである
Vimの内部で使用される文字符号化、バッファのVimを含む:(1)符号化(バッファ)、メニューテキスト、テキストメッセージなど。マニュアルのみの.vimrcでその値を変更することであることをお勧めします、実際には、それはその値を変更しているように見えるだけで、あなたの.vimrcに理にかなっています
(2)ファイル・エンコーディング:ファイルの現在の文字エンコーディングでのVimエディタ、Vimはファイルを保存するにも、この文字エンコーディングとしてファイルを保存します(新規文書が真であるかどうか)、インターネットが導入されたが、私はそれを行いますUTF-8での.vimrcには効果がないように見えるように、あなたはファイルのvimを開いたときにのみ有効になります手動で設定することができ、私はなぜ知らない定義されました。
(3)fileencodings:Vimが開始され、最終的な検出された文字エンコーディングに設定ファイル・エンコーディングオープンするファイルの文字エンコーディングを検出するために1つずつ記載されている文字エンコーディングに従います。だから、リストの一番上にUnicodeエンコーディングに、最終的な表面にラテンlatin1のエンコーディングが最適です。
(4)termencoding:Vimの仕事の終わり(またはコンソールウィンドウWindowsの)文字エンコーディング。このオプションは、私たちの共通のGUIモードはWindowsで使用できないのgvimが、Vimのコンソールモードの観点からコンソールは、Windowsのコードページであり、通常我々はそれを変更する必要はありません。
システムロケールがUTF-8(Linuxシステムのデフォルトロケールのフォームのロット)で、編集した文書は、GB2312かGBKの形態である(Windowsのメモ帳
もデフォルトのフォームとして保存され、デフォルトの保存形式は、ほとんどの編集者、その最も一般的な)は、端末型UTF-8(すなわち、クライアント・ソフトウェアは、Unicodeのようなパテであると仮定する)
文書オープンVIM、エンコーディング= UTF-8(ロケールが決定される)、ファイル・エンコーディング= LATIN1(オートエンコーダが不正確決意機構によって引き起こされる)、termencoding =文字化けとして(変換期間デフォルトのエンコードなし)、空、ファイルが表示されます。
解決策1:まず、ファイル・エンコーディングを修正するにはCP936であるか(両方が、別の名前のような)EUC-CN、法が修正されていないことに注意してください:SETの
ファイル・エンコーディング= CP936を、それだけでCP936としてファイルを保存しています、正しい方法がありますファイルエンコーディングCP936するリロード:編集
電子++ ENC = CP936:++ = ENCのCP936を、と略記することができます。
ファイルを閉じた後でもこれを行うには、再オープン、もう一度、もう一度それを設定します。その理由は、(復号化は、私が理解し、コールするかどうかわからない)正しくデコードしないで、その結果、ファイルのエンコーディングを認識しない、最終的な分析のvimで文字化けします。だから、私は、fileencodingsでの.vimrcにする場合、ファイルはUTF-8をデコードしようとするいくつかの方法、設定ファイル・エンコーディング= UTF-8セットfileencodingsの=のUCS-BOM、UTF-8、CP936で非常に成功しなかったのvimを伝えると同等のものを設定します、LATIN1。これは通常の開き
文字化けの理由:
あなたのファイルはUTF-8として宣言され、そしてそれは、ソースファイルのUTF-8エンコーディングで保存する必要がありますので。しかし、ローカルWindowsのデフォルトエンコーディングはそれがGBKコーディング、そのコンソールで、CP936であります
ダイレクトプリントUTF-8文字列はもちろん歪みです。
溶液:
OKトランスコーディングを使用して印刷コンソールで、そうライトを印刷:
。印刷myname.decode(「UTF-8」)(「GBK」)をコードする
より一般的なアプローチは次のようになります。
インポートSYS
= sys.getfilesystemencodingタイプ()
印刷myname.decode( 'UTF-8')。(タイプ)をコード
最近の使用Pythonはいくつかのオンラインデータをつかむ、我々はコーディングの問題に遭遇しました。頭痛は、使用する溶液をまとめます。
- Linuxのコマンド・セット・ファイル・エンコーディングの下でのvimのViewファイルのエンコーディング
- 強力なパッケージchardetでPythonコードの検出は、非常にシンプルな使用します。chardetをインストールPIP Linuxを使用して簡単なインストール
1
2
3
4
|
import
chardet
f
=
open
(
'file'
,
'r'
)
fencoding
=
chardet.detect(f.read())
print
fencoding
|
出力形式{:0.96630842899499614、「エンコーディング」:「信頼」「2312」を} fencoding、確率のみ特定のコードか否かが判断されます。より正確な結果。STR型入力パラメータ。
- PythonのSTRを学ぶことができる符号化した後の符号化変換デコード及びエンコードを使用して達成します。
これは一般的なフローであるSTR STRデコードを使用して符号化方法と、Unicode文字列型にそれを復号化し、特定の符号化の使用は、変換するための特定の符号化Unicode文字列型をエンコードする方法。strのPythonでUnicodeと以下のように、二つの異なるタイプに属します。
- 一般的には、ウィンドウのデフォルトのエンコーディングのGBK、Linuxのデフォルト・エンコーディングUTF8
- Pythonプログラミングコーディングシステム、Pythonコードの概念、ファイルのエンコーディング。
システムコード:ソースコードを書くためのデフォルトのエンコーディングエディタ。これは、ソースファイルがワード方法に従ってバイナリコードストリームに符号化された内のコンテンツのすべてを表します。ディスクに保存されました。Linuxでlocaleコマンドによって表示します。
Pythonのコーディング:Pythonで提供手段をデコードします。設定されていない場合は、、Pythonのデフォルトは、ASCIIデコードモードです。中国は、Pythonのソースコードファイルを表示されない場合は、この場所はセットが問題になることはありません方法です。
設定方法: - - *コード#:ソース・ファイルの先頭には(それは最初の行でなければならない)UTF-8 - * - 、復号化方式は、UTF-8であるソースファイルを提供または
1
2
3
|
import
sys
reload
(sys)
sys.setdefaultencoding(
'UTF-8'
)
|
ファイルのエンコーディング:テキストのエンコーディング、Linuxのvimの使用セットファイル・エンコーディングビューの下で。
- その理由は、出力歪みは、一般に、システムデコーダのように符号化されません。
例えばプリントS、S型STRのために、Linuxシステムは、システムのデフォルトエンコーディングUTF8エンコードされた出力がUTF8としてエンコードされるべき前です。sがGBK符号化である場合にはこれを出力する必要があります。印刷s.decode( 'GBK')。出力中国語( 'UTF8')をコードします。
同じウィンドウの場合に続いて、ウィンドウのデフォルトのエンコーディングは、GBKの出力の前にエンコードする必要があり、GBKのエンコーディングです。
- PythonのUnicodeの一般的な処理プロセスの種類。このようにエンコードする前に直接出力することができます。