http://www.dotnetspider.com/resources/18881-How-Convert-String-ASCII.aspx Das habe ich im Internet gefunden und damit ist auch mein "converting-problem" gelöst nur schaffe ich es einfach nicht zu verstehen wie das funktioniert... Könnte mir einer der klugen Köpfe da draussen vielleicht erklären wieso/wie diese funktion funktioniert bzw. warum sie so aussieht? LG Son of Oden
Hi Was soll die Funktion eigentlich bewirken, bzw. wozu braucht man die Summe aller Zeichen eines Strings? MfG Spess
Hi, Steht doch auf der Homepage. Die funktion gibt einen string asu der das ASCII equivalent des Eingegebenen string ist... nur habe ich nicht ganz verstanden wie dsa gemacht wird.
R. Oden schrieb: > http://www.dotnetspider.com/resources/18881-How-Convert-String-ASCII.aspx > > Das habe ich im Internet gefunden und damit ist auch mein > "converting-problem" gelöst Welches 'converting-problem'? So wie ich das sehe, errechnet die Funktion sowas wie eine 'Quersumme' über alle Character im Originalstring. Von dieser Summe wird dann eine Textrepräsentierung gebildet und zurückgegeben. Die Funktion ist sowas wie ein Textanalogon zur mathematischen Quersumme von Zahlen. Aus 15 wird so 6 (weil 1 + 5 gleich 6 ist) Im Moment ist der einzige Anwendungsfall, der mir für sowas einfällt ein (eher schlechter) Hash-Code. Nur wozu man dann das Ergebnis als String haben möchte ist mir dann wieder rätselhaft. Interessieren würde mich, welches converting-problem du damit gelöst haben willst. So wie ich das sehe, kann man mit der Funktion eigentlich nichts wirklich Sinnvolles anfangen. Aber ich lass mich gern eines besseren belehren.
Hi >Die funktion gibt einen string asu der das ASCII equivalent des >Eingegebenen string ist... nur habe ich nicht ganz verstanden wie dsa >gemacht wird. Ein String besteht aus ASCII-Zeichen! Die Funktion summiert die ASCII-Werte der Zeichen und macht daraus wieder einen String. Was vestehst unter 'ASCII equivalent'? MfG Spess P.S. Die Zeilen: char c; c = input[i]; sind sinnlos.
Hi, Ich muss mit einem µC komunizieren und ihm befehle senden. diese befehle müssen aber in ASCII sein und ich möchte deshalb einen String in ASCII umwandeln. Gibt es sonst noch eine bessere Methode? LG Son of Oden
Hi >Ich muss mit einem µC komunizieren und ihm befehle senden. diese befehle >müssen aber in ASCII sein und ich möchte deshalb einen String in ASCII >umwandeln. Gibt es sonst noch eine bessere Methode? Ein String besteht aus ASCII-Zeichen!!! Das was die Funktion erzeugt, hat mit dem String nichts mehr zu tun. MfG Spess
spess53 schrieb: > Hi > >>Ich muss mit einem µC komunizieren und ihm befehle senden. diese befehle >>müssen aber in ASCII sein und ich möchte deshalb einen String in ASCII >>umwandeln. Gibt es sonst noch eine bessere Methode? > > Ein String besteht aus ASCII-Zeichen!!! Na ja, nicht notwendigerweise. Es könnten in C# auch Unicode Zeichen sein. Allerdings ist mir nicht klar, was die Funktion da bewirken könnte. > Das was die Funktion erzeugt, hat mit dem String nichts mehr zu tun. Ganz genau. Das wär sonst eine prima Kompressionsmethode: Einen String in einen int aufzusummieren und daraus dann wieder den kompletten String zu rekonstruieren (wenn auch in ASCII). Die komplette Bibel in nur sizeof(int) Bytes. Herz was willst du mehr? @R. Oden Könntest du mal zeigen, welchen String du in die Funktion hineinsteckst und welcher String von der Funktion geliefert wird. Irgendwie hab ich das Gefühl, du hast das ganze noch gar nicht getestet sondern klammerst dich am Funktionsnamen fest.
Mhh ich werde mal rücksprache mit meinem Kollegen halten(er programmiert den µC) ich melde mich dann wenn ich mehr weiss. LG Son of Oden
Hi >> Ein String besteht aus ASCII-Zeichen!!! >Es könnten in C# auch Unicode Zeichen sein. Weiss ich. Wollte nur nicht noch mehr Verwirrung stiften. @sonofoden Im Normalfall sollte sollte es ausreichen wenn du folgendes machst: for (i = 0; i < input.Length; i++) { c = input[i]; Sende(c) //deine Ausgaberoutine } Jedenfalls son in der Art (Sorry,habe noch nie mit C programmiert). MfG Spess
spess53 schrieb: > Hi > >>> Ein String besteht aus ASCII-Zeichen!!! >>Es könnten in C# auch Unicode Zeichen sein. > > Weiss ich. Wollte nur nicht noch mehr Verwirrung stiften. Dachte ich mir schon :-) Als ich die Originalfragstellung und etwas von 'convertier-problem' las, war mein erster Gedanke eine Unicode zu ASCII Konversion, die man zweifellos gegebenenfalls machen müsste. Ich glaube immer noch, dass es genau das ist, was der TO eigentlich sucht. Allerdings ist er auf eine unverschämt vage Funktionsbeschreibung (was ist der ASCII Wert eines Strings?) und einen (denke ich mal) mehr als schlecht gewählten Funktionsnamen hereingefallen. Zumindest hat mir das meine Glaskugel geflüstert :-)
R. Oden schrieb: > Hi, > Ich muss mit einem µC komunizieren und ihm befehle senden. diese befehle > müssen aber in ASCII sein und ich möchte deshalb einen String in ASCII > umwandeln. Gibt es sonst noch eine bessere Methode? > > LG Son of Oden Die Klasse SerialPort, die hier wohl verwendet wird, hat genau für diesen Zweck eine Eigenschaft namens Encoding. Das Encoding legt fest wie Zeichen vor dem Senden bzw. nach dem Empfangen umgewandelt werden (in UTF-16, das intern für Strings verwendet wird). Die Default-Einstellung ist ASCIIEncoding d.h. alles was größer als 127 (ASCII) ist, wird in 63 ('?') umgewandelt. Braucht man alle Werte von 0-255 kann z.B. "Western European (ISO)" (ISO 8859-1) oder "Windows-1252" verwendet werden. Reicht das nicht, sendet und ließt man mit den normalen Funktionen direkt Bytes.
Ok, hat sich erledigt. Ich werd die Funktion sicherlich nicht brauchen...trotzdem danke für die Hilfe.
Hi, Hat sich doch nicht erledigt. Langsam bin ich verwirrt. Wie genau funktioniert das mit dem encoding? Also ich sende einem µC das Signal "Z1", "Z2", "Z3" oder "Z4". Dananch sendet der µC das dementschrechende Signal als Antwort z.B.:" Z1+568" das heisst "zone1" + ein Wert von 0-1024. So ich verarbeite diese Antwort jetzt folgendermaßen: ich schaue nach welche Zone und nehme dann den Angehängten wert und speichere ihn in einer Variable ab. Das ist die Komunikation die aufgebaut werden muss. Ist das auf diese Weise möglich (einfach einen string zu senden und die antwort als string zu bekommen) wenn ich encoding=ASCII eingestellt habe? oder muss ich da als Zwischenschritt irgendwo noch etwas convertieren? Danke für die Hilfe bis jetzt ihr seid die besten..gg LG Son of Oden
R. Oden schrieb: > oder muss > ich da als Zwischenschritt irgendwo noch etwas convertieren? Nein.
Jep, das ist möglich
1 | SerialPort sp = new SerialPort(); |
2 | sp.Encoding = Encoding.ASCII; |
3 | sp.Write("Blaaaaa"); |
4 | string output = sp.ReadLine(); |
Natürlich musst du auch noch sagen welchen Port du verwenden willst usw. Bei einem Senden wird jedoch der String automatisch in ASCII umkodiert, beim Empfangen dann wieder automatisch nach Unicode.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.