std.validate.uic
UIC-Fahrzeugnummer (Internationaler Eisenbahnverband) — 12-stellige Nummer zur eindeutigen Identifikation von Eisenbahnfahrzeugen in Europa. Die Prüfziffer an Position 12 wird über den Luhn-Mod-10-Algorithmus berechnet. Enthält kodiert: Fahrzeuggruppe, Betriebsland, Gattungsmerkmal und Seriennummer.
→ std.validate · std.validate.luhn
Konstanten
| Name | Wert | Bedeutung |
|---|---|---|
UIC_OK | 0 | Gültig |
UIC_ERR_INVALID_LENGTH | 1 | Länge ≠ 12 |
UIC_ERR_INVALID_CHAR | 2 | Ungültige Zeichen (nur Ziffern erlaubt) |
UIC_ERR_INVALID_CHECK | 3 | Falsche Prüfziffer |
Verwendung
import std.validate.uic;
// UIC-Nummer (mit oder ohne Leerzeichen/Bindestriche)
var uic: pchar := "56 80 22-70 001-7";
var norm: pchar := UICNormalize(uic); // "568022700017"
var result: int64 := UICValidate(norm);
if (result = UIC_OK) {
log_info(UICGetGattung(norm)); // "56" (Fahrzeuggruppe)
log_info(UICGetLaendercode(norm)); // "80" (Deutschland)
log_info(UICGetSeriennummer(norm)); // "22700017"
}
Funktionen
| Signatur | Sichtbarkeit | Beschreibung |
|---|---|---|
UICValidate(nr: pchar): int64 | pub | UIC-Fahrzeugnummer validieren |
UICNormalize(nr: pchar): pchar | pub | Leerzeichen und Bindestriche entfernen |
UICCheckDigit(nr: pchar): int64 | pub | Prüfziffer für 11-stelligen Stamm berechnen |
UICGetGattung(nr: pchar): pchar | pub | 2-stellige Fahrzeuggruppenkennung extrahieren |
UICGetLaendercode(nr: pchar): pchar | pub | 2-stelligen Ländercode extrahieren |
UICGetSeriennummer(nr: pchar): pchar | pub | 8-stellige Seriennummer extrahieren |
UICFormat(nr: pchar): pchar | pub | UIC-Nummer mit Leerzeichen formatieren |
Letzte Aktualisierung: 2026-05-23
