Autor Beitrag
C#
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 561
Erhaltene Danke: 65

Windows 10, Kubuntu, Android
Visual Studio 2017, C#, C++/CLI, C++/CX, C++, F#, R, Python
BeitragVerfasst: So 16.10.11 21:05 
Abend,

ich habe mal eine Frage zu den Integer-Werten einzelner Chars.
char c = '•'//'•' = 7 (ASCII) und ich frage mich wie ich da den entsprechenden ASCII-Wert (hier: 7) bekomme. Denn wenn ich int x = Convert.ToInt32(c); mache, bekomme ich den Unicode-Wert (8226), oder was auch immer für ein Wert.

Kann mir jemand helfen? Ich brauche das um unerlaubte Zeichen aus einem string zu löschen (0-25 in der ASCII-Tabelle).

_________________
Der längste Typ-Name im .NET-Framework ist: ListViewVirtualItemsSelectionRangeChangedEventHandler
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: So 16.10.11 21:10 
An Stelle 7 ist ein Steuerzeichen, normalerweise ohne visuelle Repräsentation. Wo soll der Zusammenhang zum Bullet Point sein :gruebel: ?

_________________
>λ=
C# Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 561
Erhaltene Danke: 65

Windows 10, Kubuntu, Android
Visual Studio 2017, C#, C++/CLI, C++/CX, C++, F#, R, Python
BeitragVerfasst: So 16.10.11 21:45 
Es hat nicht direkt mit '•' zu tun, sondern will ich prüfen, ob im string eines der ersten 25 Zeichen des ASCII Codes vorhanden ist.

//Edit:
Hab dich falsch verstanden. Wenn du auf der Tastatur Alt+7 drückst, erhälst du das Zeichen: "•". Und Alt dient hier doch als Shortcut für die ASCII-Tabelle oder irre ich mich? man hält Alt gedrückt und tippt dann den ASCII-Code ein und erhält dann das zugeordnete Zeichen.

//Edit2:
Habe gerade entdeckt, dass '•' den ASCII-Wert 149 ergibt. Jetzt ergibt die ganze Sache noch weniger Sinn...
www.amathis.ch/ASCII-Tabelle.pdf

_________________
Der längste Typ-Name im .NET-Framework ist: ListViewVirtualItemsSelectionRangeChangedEventHandler
Trashkid2000
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 561
Erhaltene Danke: 137



BeitragVerfasst: Mo 17.10.11 19:55 
user profile iconC# hat folgendes geschrieben Zum zitierten Posting springen:
Habe gerade entdeckt, dass '•' den ASCII-Wert 149 ergibt. Jetzt ergibt die ganze Sache noch weniger Sinn...

Das ergibt wirklich keinen Sinn, da die Ascii-Tabelle (bzw. der Zeichensatz) nur 128 Zeichen hat. Der höchste Wert ist also 127. Um es genau zu sagen, gibt es das Zeichen gar nicht in diesem Zeichensatz.

Um zu prüfen, ob sich in einem String ein Zeichen befindet, das ein Steuerzeichen ist, so kannst Du einfach so abfragen (die LinQ- Extension bei einem String gibt es erst ab .Net 4.0):
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
string s = "Hallo";
if (s.Any(x => (int)x < 32))
{
  //es sind Steuerzeichen vorhanden               
}

LG, Marko
C# Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 561
Erhaltene Danke: 65

Windows 10, Kubuntu, Android
Visual Studio 2017, C#, C++/CLI, C++/CX, C++, F#, R, Python
BeitragVerfasst: Do 20.10.11 22:23 
Sry war ne weile offline.
Ja ich weiß wie ich die Abfrage machen kann, dass ist ja nicht das Problem. Doch wenn ich den Bulletpoint in eine Zahl konvertiere, erhalte ich eben den Wert 149 und nicht 7. Das ist mein Problem.
Ich werde wohl ein String mit den verbotenen Zeichen anlegen müssen und dann jedes Char mit einander vergleichen...

Trotzdem Danke.

_________________
Der längste Typ-Name im .NET-Framework ist: ListViewVirtualItemsSelectionRangeChangedEventHandler
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Do 20.10.11 22:44 
Wie definierst du denn verbotene Zeichen bzw. wofür benötigst du das? Wie du mittlerweile selbst gesehen hast, ist der Bullet Point sicher kein Steuerzeichen, sondern in der Windows Codepage 1252 an Stelle 149 als ganz normales Zeichen definiert.

_________________
>λ=
C# Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 561
Erhaltene Danke: 65

Windows 10, Kubuntu, Android
Visual Studio 2017, C#, C++/CLI, C++/CX, C++, F#, R, Python
BeitragVerfasst: Fr 21.10.11 19:41 
Ich habe eine spezielle Speicherfunktion von Dateien. Dort werden die Werte durch solche Zeichen getrennt. Wenn jetzt in dem Wert so ein Zeichen vorhanden ist, erhalte ich falsche Werte.
Aber das hat sich alles erledigt. Bin auf XML umgestiegen (XDocument).

_________________
Der längste Typ-Name im .NET-Framework ist: ListViewVirtualItemsSelectionRangeChangedEventHandler