diff -urp eyeD3-0.6.17.OLD/src/eyeD3/frames.py eyeD3-0.6.17/src/eyeD3/frames.py
--- eyeD3-0.6.17.OLD/src/eyeD3/frames.py 2009-02-01 21:54:52.000000000 -0600
+++ eyeD3-0.6.17/src/eyeD3/frames.py 2011-08-06 12:10:48.714663188 -0500
@@ -2152,7 +2152,10 @@ class FrameSet(list):
def splitUnicode(data, encoding):
if encoding == LATIN1_ENCODING or encoding == UTF_8_ENCODING:
- return data.split("\x00", 1);
+ ret = data.split("\x00", 1);
+ if len(ret) != 2:
+ ret.append("")
+ return ret
elif encoding == UTF_16_ENCODING or encoding == UTF_16BE_ENCODING:
# Two null bytes split, but since each utf16 char is also two
# bytes we need to ensure we found a proper boundary.