[Tutor] appending to a utf-16 encoded text file

Tim Golden mail at timgolden.me.uk
Tue Oct 21 17:37:38 CEST 2008

Tim Brown wrote:
> Hi,
> I'm trying to create and append unicode strings to a utf-16 text file.
> The best I could come up with was to use codecs.open() with an 
> encoding of 'utf-16' but when I do an append I get another UTF16 BOM 
> put into the file which other programs do not expect to see :-(
> Is there some way to stop codecs from doing this or is there a better
> way to create and add data to a utf-16 text file?

Well, there's nothing to stop you opening it "raw", as it were,
and just appending unicode encoded as utf16.

s = u"The cat sat on the mat"
f = open ("utf16.txt", "wb")
for word in s.split ():
  f.write (word.encode ("utf16") + " ")

f.close ()



More information about the Tutor mailing list