Ja, das ist richtig. Das sind 3 Bytes. Ich wollte nur eine kleine Bytefolge schreiben, da es ja theoretisch sein hätte können, dass es mehrere Bytes sind, die irgendwie zusammenhängen (wie z. B. bei UTF-

. Aber das ist nicht so, da hätte ich die beiden "außenrum"-Byte auch weglassen können ...
Ja, also in VB6 öffne ich ein Recordset und lese mit strDaten=CStr(rs!Daten) die Daten aus.
In CSharp öffne ich auch das Recordset (sowohl als SQLDataReader oder auch als OleDBDataReader), und hole mit string strDaten=oReader.GetValue(oReader.GetOrdinal("daten")) in meine Variable.
in VB6 kommt was anderes an (chr(156)) als in CSharp (chr(339)). Habe es jetzt mal sop gelöst: (Zur Erklärung: Da ich die Daten ans Internet weitergeben muss, brauche ich die Daten in einem Bytearray und muss sie irgendwie umwandeln. Mt den ganzen Encoding.XXX.YYY.GetBytes() oder was es alles gibt, gibt es immer irgendwo Sachen die haken...)
int vc=0;
char[] chararray = strDaten.ToCharArray();
byte[] byteArrayD = new byte[benötigte bytes]
for (int z = 0; z < chararray.Length; z++)
{
if (chararray[z] <= 255)
{
bytearrayD[vc] = (byte)chararray[z];
vc++;
} else {
string strTemp= char.ConvertFromUtf32(chararray[z]);
byte[] bytes= Encoding.Default.GetBytes(strTemp);
bytearrayD[vc] = bytes[0];
vc++;
}
}
Scheint soweit erstmal zu funktionieren, allerdings ist die Frage, warum VB& und CSharp die vorhandenen Daten anders interpretieren - und wie ich evtl gleich dem CSharp beibringen kann, dass es das richtig interpretieren soll ...
Danke Euch

)