Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 19:43

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[C#]BinaryReader.ReadString() - UTF8? [help]

Discussion on [C#]BinaryReader.ReadString() - UTF8? [help] within the .NET Languages forum part of the Coders Den category.

Closed Thread
 
Old   #1
 
Logtetsch's Avatar
 
elite*gold: 192
Join Date: May 2009
Posts: 2,227
Received Thanks: 3,262
[C#]BinaryReader.ReadString() - UTF8? [help]

Abend,

wollte mal fragen, ob es etwas wie die Methode .ReadString() nur halt als ANSI oder UTF8 gibt?

Danke im Vorraus.

mfg Logtetsch
Logtetsch is offline  
Old 08/23/2013, 22:31   #2
 
kissein's Avatar
 
elite*gold: 0
Join Date: Sep 2005
Posts: 427
Received Thanks: 87
Bei der Initialisierung kann man die Zeichencodierung mit angeben.
kissein is offline  
Thanks
1 User
Old 08/24/2013, 06:23   #3
 
elite*gold: 0
Join Date: May 2010
Posts: 88
Received Thanks: 23
Wobei du, um wirklich sicher zu sein eine eigene methode schreibe solltest, die dann so aehnlich aussieht:

var stringArray = br.ReadBytes(count);
return Encoding.UTF8.GetString(stringArray);
Easy-Emu is offline  
Thanks
1 User
Old 08/24/2013, 13:26   #4
 
Logtetsch's Avatar
 
elite*gold: 192
Join Date: May 2009
Posts: 2,227
Received Thanks: 3,262
Quote:
Originally Posted by Easy-Emu View Post
Wobei du, um wirklich sicher zu sein eine eigene methode schreibe solltest, die dann so aehnlich aussieht:

var stringArray = br.ReadBytes(count);
return Encoding.UTF8.GetString(stringArray);
Das Problem ist, ich weiß nicht wie groß der nächste String ist.
Logtetsch is offline  
Old 08/26/2013, 09:42   #5
 
elite*gold: 0
Join Date: May 2010
Posts: 88
Received Thanks: 23
dann wird er null terminated sein (gehe ich mal von aus)
dann liest du ebn byte fuer byte aus und ueberpruefst, in einer while schleife, wann 00 kommt und der string ende ist
Easy-Emu is offline  
Thanks
1 User
Old 08/26/2013, 14:36   #6
 
elite*gold: 0
Join Date: Aug 2012
Posts: 236
Received Thanks: 94
Der String wird nicht nullterminiert gespeichert, er beginnt mit einer Angabe der Länge. Wenn das erste Byte einen Wert von weniger als 128 aufweist, dann entspricht dieser Wert der Länge des Strings. Ansonsten musst du das höchstwertige Bit umschalten und das nächste Byte ähnlich interpretieren. So erhälst du eine Reihe von Bits, die du dann als Länge interpretieren kannst. Siehe dazu auch die entsprechende .
Tasiro is offline  
Thanks
1 User
Old 08/27/2013, 16:48   #7
 
Logtetsch's Avatar
 
elite*gold: 192
Join Date: May 2009
Posts: 2,227
Received Thanks: 3,262
Quote:
Originally Posted by Easy-Emu View Post
dann wird er null terminated sein (gehe ich mal von aus)
dann liest du ebn byte fuer byte aus und ueberpruefst, in einer while schleife, wann 00 kommt und der string ende ist
Quote:
Originally Posted by Tasiro View Post
Der String wird nicht nullterminiert gespeichert, er beginnt mit einer Angabe der Länge. Wenn das erste Byte einen Wert von weniger als 128 aufweist, dann entspricht dieser Wert der Länge des Strings. Ansonsten musst du das höchstwertige Bit umschalten und das nächste Byte ähnlich interpretieren. So erhälst du eine Reihe von Bits, die du dann als Länge interpretieren kannst. Siehe dazu auch die entsprechende .
Weder- noch.
Ich war dabei eine einfache Struktur aus mehreren bytes, strings und anderen Datentypen auszulesen. Dabei habe ich einfach übersehen, dass die länge der Strings immer vor dem Stringanfang definiert war.

Code:
struct str
{
      ..........
      write dword/ word/ byte (stringlen)
      write string
      ..........
}
Habe mittlerweile das Problem gelöst.
Trotzdem bedanke ich mich für eure Hilfe.
Logtetsch is offline  
Old 08/27/2013, 17:27   #8
 
elite*gold: 0
Join Date: Aug 2012
Posts: 236
Received Thanks: 94
Und woher weißt du, wie viele Bytes zur Länge des Strings gehören? In der Form entspricht das jedenfalls nicht der ReadString-Methode... das solltest du dann nicht kombinieren.
Tasiro is offline  
Old 08/27/2013, 22:03   #9

 
xxfabbelxx's Avatar
 
elite*gold: 900
Join Date: Apr 2009
Posts: 14,981
Received Thanks: 11,403
closed on request
xxfabbelxx is offline  
Closed Thread


Similar Threads Similar Threads
utf8 in game dekaron
02/20/2013 - Dekaron - 6 Replies
How can I offer to clients is a language I can edit the file? My language is mandatory (Dấu) :D:handsdown:
BinaryReader empfängt nichts
09/05/2012 - .NET Languages - 2 Replies
NetworkStream stream = client.GetStream(); BinaryReader r = new BinaryReader(stream); if(r.ReadString() != "") Console.Write("{0}",console_event(" empfangen")); client.Close(); Console.Write("{0}",console_event(" Verbindung getrennt ")); Das ist der Codeausschnitt Allerdings bleibt er IMMEr bei r.ReadString() stehen. Habe ein kleines Nebenprogramm in Autoit gemacht um Testweise Pakete zu verschicken
[Help] Character Set (utf8, ascii and etc...).
07/24/2012 - CO2 Private Server - 10 Replies
I changed all the fields that stores strings in my database to utf8, but am not able to make store-type character: † among others ...What else should I change so you can store any character?



All times are GMT +1. The time now is 19:43.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.