18
votes

I have a binary file. This file contains an UTF-8 string. Moreover, it is guaranteed that this string is just a single word. In python, how can I get number of letters in this string?

Let's say, I opened this file and read bytes:

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

What next have I to do to find out length (in letters, not bytes) of UTF-8 string?

1
What is the relevance of "it is guaranteed that this string is just a single word"? - John Machin
Do not open the file in binary mode. Open it with codecs.open and give it an encoding argument. Problem solved. - tchrist

1 Answers

35
votes
unicode_string = bytes.decode("utf-8")
print len(unicode_string)