Well, for this, I think you'd probably want it to default to return unicode text, with an option to get it binary.
In any case, the main thing is that it should be consistent.
A user of
get_package_asset probably just wants something consistent, whether it be ST2/ST3, some partial contents from a zip, or complete contents from a file.
In sublime 2, the open() returns str() which is essentially the bytes() from python 3.
Sublime 3, with python 3, on the other hand, returns str() which is essentially unicode() from python 2.
zipfile seems to return raw bytes in python 2/3