2011-11-08 14 views
13

私はバイナリファイルを持っています。このファイルには、UTF-8文字列が含まれています。さらに、この文字列は単なる単語であることが保証されています。 Pythonでは、この文字列の文字数はどのように取得できますか?Python get unicode string size

は、私がこのファイルを開いて、バイトを読んで、のは言ってみましょう:次の私は(文字、ないバイト)の長さを見つけるためにしなければならない

bytes = open("1.dat", "rb").read() 

何UTF-8文字列の?

+0

"この文字列は単なる単語であることが保証されています"とはどのような関連性がありますか? –

+2

バイナリモードでファイルを開かないでください。 'codecs.open'でそれを開き、それにエンコーディング引数を与えます。問題が解決しました。 – tchrist

答えて

28
unicode_string = bytes.decode("utf-8") 
print len(unicode_string) 
+2

Python 3では、 'bytes = len(open( '1.dat'、encoding = 'utf-8')を設定できます。 – Cito