It seems byline is just calling toString() on buffers without correctly respecting unicode encoding rules. Since the buffers going into transform can be on any arbitrary position inside the original byte stream it is possible for it to be in the middle of a character.
This would potentially influence all characters encoded with more than 1 bytes.
if (encoding == 'buffer') {
chunk = chunk.toString(); // utf8
encoding = 'utf8';
}
Is this handled somewhere else ?