Ich habe grade mal folgendes gemacht.
Neues Projekt, neues Fenster, neues Textfield (Stefan, welches control
verwendest Du? Ein "Textarray"-control gibt es nicht), folgender code
im keydown event:
msgbox key.Encoding.internetName
und folgender im textchange event:
msgbox me.Text+":"+me.text.Encoding.internetName
,so dass wir nicht auf die eventuell fehlerhafte encoding-Anzeige des
debuggers angewiesen sind.
Nun compiliert, und eingegeben:
bei "a": US-Ascii im keydown, aber utf-8 im textchanged event (aha!)
Text gelöscht.
bei "ü": UTF-16 im keydown, UTF8 im textchanged
dann "s" eingegeben (so dass da jetzt "üs" steht)
US-Ascii im keydown, UTF8 im textchanged.
Interessant. Bei Ascii>127 ist das encoding im keydown event utf-16,
sonst us-ascii (us-ascii ist kein subset von utf-16 sondern von utf-8.
Der Unterschied zwischen utf-8 und utf16 im Ascii-Bereich ist ein
zusätzliches Null high byte also \x40 wird \x{0040} in utf16.)
Tja, bringt das Licht ins Dunkel?
Max