I found out that the data obtained from a wxTextDataObject is utf-16le encoded (wxpython 4.1, python3, OSX). Is that on purpose? I was used to that wxpython works everywhere with unicode strings. Here is a short example:
import wx
obj = wx.TextDataObject('Jährchen Ⅷ')
s = obj.GetDataSize()
b = bytearray(s)
obj.GetDataHere(b)
print(b.decode('utf-16le'))
Jährchen Ⅷ