Was sieht wohl leserlicher aus (und nein, ich werden Byte nicht in WideChar konvertieren was ein unnötiges "MOVZX" einfügen würde):
Delphi-Quellcode:
B[I] in [Ord('A')..Ord('Z'), Ord('a')..Ord('z'), Ord('_'), Ord('0')..Ord('9')]
// oder
S[I] in ['A'..'Z', 'a'..'z', '_', '0'..'9']
Beides ist bezüglich Lesbarkeit Müll. Lesbar ist
imho eh nur etwas wie
IsValidIdentifierChar(myChar)
. Und wie die jetzt intern arbeitet, ist mir egal.