2016-09-13 6 views
1

私はMacbookの端末に関する問題を扱っています。 ギリシャ語をPython文字列に渡しています。Mac端末のエンコーディングの問題

text = 'Καλημέρα κόσμε' 

と私はスペースで分割のようにそれに結果を任意の簡単なタスクを実行しようとするたびに私はこのようなルックスを得る:

['\xce\x9a\xce\xb1\xce\xbb\xce\xb7\xce\xbc\xce\xad\xcf\x81\xce\xb1', 
'\xce\xba\xcf\x8c\xcf\x83\xce\xbc\xce\xb5'] 

私はcollections.Counterを使用する場合、同じことが起こります( )も同様に機能します。

Καλημέρα κόσμε 

私はここで言及されて何をしてみました::In OSX Lion, LANG is not set to utf8, how fix?(EN_US.UTF-8 el_GR.UTF-8に変更して)私は出力が期待される文字列を印刷する一方

運がない。

誰もが、なぜそれが起こり、どのようにそれに取り組むことができるのか考えていますか?

ありがとうございます。

答えて

0

これは端末には問題ありませんが、Python(2)はどのように動作しますか?あなたはPythonで同じことをしようとした場合

>>> text = 'Καλημέρα κόσμε' 
>>> text 
'\xce\x9a\xce\xb1\xce\xbb\xce\xb7\xce\xbc\xce\xad\xcf\x81\xce\xb1 \xce\xba\xcf\x8c\xcf\x83\xce\xbc\xce\xb5' 

:文字()またはスペースを除いて(非印刷可能)

あなたがそれに任意のタスクを実行しない場合でも、reprは、任意の非ASCIIをエスケープします3、正常に印刷されます:

>>> text = 'Καλημέρα κόσμε' 
>>> text 
Καλημέρα κόσμε 

Python 2を使用する理由はありますか?あなたはこの文字列を印刷しようとしても

+0

は(それが面倒にすぎない場合には私のためにそれをしようとすることは可能ですか?):予想通り low_vowelsの=「αειοηυω」 すべての作品?私がまだPython 2を持っている唯一の理由は、多くのライブラリがうまく機能しているため、私がスイッチを作る特別な理由がなかったからです。 – Swan87

+0

Python 2では、printを使用しているときにyesを返します。 Python 3では、常に。 Python 2の文字列型は実際にはバイトストリームですが、Python 3ではUnicodeです。 ASCII以外のアルファベットで何かをしているのなら、何も止まっていなければ、Python 3を使うことをお勧めします。あなたが使っているライブラリはまだPython 3では利用できませんか? – L3viathan

+0

私はおそらくすぐにスイッチを作るでしょう! Python 3で利用できないライブラリの問題ではありません。ちょうどその前のPythonの一部が、Python 2.7で不安定で安定していないという事実だけです。 Python 3を使ったことがありますか? – Swan87

関連する問題