vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: RTrim beim Auslesen von Char-Variablen 
Autor: Preisser
Datum: 07.06.13 14:14

Hallo,

Manfred X schrieb:
Zitat:

Dim rndm As New Random(123)
 
Private Function GetU8() As Byte
   If rndm.Next(1, 5) = 4 Then Return CByte(Asc(" "))
   Return CByte(rndm.Next(Asc("A"), Asc("Z") + 1))
End Function

(hat zwar nichts mit dem eigentlichen Thema zu tun, aber ich wollte es trotzdem anmerken )

Vorsicht, man sollte immer ChrW() und AscW() verwenden und nicht Chr() und Asc() - letzere verwenden ja den lokalen Windows-Zeichensatz (ANSI), vermutlich um Kompatibilität mit den alten Basic-Versionen, die noch kein Unicode unterstützen, zu gewährleisten. Das bedeutet nicht nur, das man damit nicht alle Unicodezeichen, sondern die meistens nur 256 Zeichen des lokalen Zeichensatzes verwenden kann, aber auch, dass je nach Spracheinstellung des Systems ein anderes (unerwartetes) Zeichen für einen bestimmten Wert herauskommen kann; jedenfalls für Werte außerhalb des ASCII-Zeichensatzes, d.h. für Werte > 0x7F.

Da .Net aber eh immer mit Unicode arbeitet (ein Char ist ja ein 16-Bit Signed Wert), sollte man auch immer ChrW() und AscW() verwenden, damit man immer die korrekten Werte bekommt. Chr() und Asc() machen unter .Net eigentlich überhaupt keinen Sinn (um z.B. Textdateien mit Zeichensätzen wie Windows-1252 einzulesen, gibt es ja die Encoding-Klasse).

In deinem Beispiel verwendest du zwar Chr() um ein Byte zurückzugeben, aber auch dafür würde ich entweder ChrW() verwenden, wenn man nur Bytes aus dem ASCII-Bereich (0x00 bis 0x7F) verwendet, oder die entsprechende Encoding-Instanz.

(Wenn man Code postet, sollte man ja auch vorbildlich sein... )

Beitrag wurde zuletzt am 07.06.13 um 14:30:53 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
RTrim beim Auslesen von Char-Variablen2.112Jennsy07.06.13 08:04
Re: RTrim beim Auslesen von Char-Variablen1.556DotNetErbse07.06.13 11:22
Re: RTrim beim Auslesen von Char-Variablen1.497ModeratorDaveS07.06.13 11:53
Re: RTrim beim Auslesen von Char-Variablen1.512Manfred X07.06.13 12:12
Re: RTrim beim Auslesen von Char-Variablen1.645Preisser07.06.13 14:14
Re: RTrim beim Auslesen von Char-Variablen1.720Manfred X07.06.13 14:50
Re: RTrim beim Auslesen von Char-Variablen1.747Preisser07.06.13 15:24
Re: RTrim beim Auslesen von Char-Variablen1.547Manfred X07.06.13 15:46
Re: RTrim beim Auslesen von Char-Variablen1.557Preisser07.06.13 15:54
Re: RTrim beim Auslesen von Char-Variablen1.671Manfred X07.06.13 16:07
Re: RTrim beim Auslesen von Char-Variablen1.497Preisser07.06.13 16:28
Re: RTrim beim Auslesen von Char-Variablen1.598Manfred X07.06.13 16:39
Re: RTrim beim Auslesen von Char-Variablen1.681Preisser07.06.13 16:49
Re: RTrim beim Auslesen von Char-Variablen1.467Manfred X07.06.13 17:51
Re: RTrim beim Auslesen von Char-Variablen1.539Preisser07.06.13 18:01
Re: RTrim beim Auslesen von Char-Variablen1.624Jennsy10.06.13 07:20
Re: RTrim beim Auslesen von Char-Variablen1.514argoped14.06.13 11:48
Re: RTrim beim Auslesen von Char-Variablen1.482Jennsy14.06.13 12:12

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel