std.validate.bic
BIC (Bank Identifier Code) / SWIFT-Code identifiziert Banken im internationalen Zahlungsverkehr (ISO 9362). Die Validierung ist strukturell: 4-Buchstaben-Bankencode + 2-Buchstaben-Ländercode + 2-stelliger Ortsschlüssel + optionaler 3-stelliger Filialcode. Prüfziffern gibt es nicht — gültige Codes sind in der SWIFT-Datenbank registriert.
→ std.validate · std.validate.iban
Konstanten
| Name | Wert | Bedeutung |
|---|---|---|
BIC_OK | 0 | Strukturell gültig |
BIC_ERR_INVALID_LENGTH | 1 | Länge muss 8 oder 11 sein |
BIC_ERR_INVALID_CHAR | 2 | Ungültiges Zeichen |
BIC_ERR_INVALID_COUNTRY | 3 | Ungültiges Länderkürzel |
BIC_ERR_INVALID_BANKCODE | 4 | Bankcode enthält keine Buchstaben |
Verwendung
unit main;
import std.io;
import std.alloc;
import std.validate.bic;
fn main(): int64 {
var bic: pchar := "DEUTDEDB"c; // Deutsche Bank Frankfurt
var result: int64 := BICValidate(bic);
if (result == BIC_OK) {
var buf: int64 := alloc(16);
BICGetBankCode(bic, buf); PrintLn(buf as pchar); // DEUT
BICGetCountry(bic, buf); PrintLn(buf as pchar); // DE
}
var norm: int64 := alloc(16);
BICNormalize("deut de db"c, norm);
PrintLn(norm as pchar); // DEUTDEDB
return 0;
}
DEUT
DE
DEUTDEDB
DieBICGet*-Funktionen liefern keinen Text, sondern einen Status — das Ergebnis landet im Zielpuffer, den der Aufrufer stellt. Das ist dieselbe Konvention wie beistd.string(→ std.string): Zielpuffer als Argument, Rückgabewert ist die Statusmeldung.
Ältere Fassungen dieser Seite verschachtelten die Aufrufe (log_info(BICGetBankCode(bic))) — das übergibt einenint64dort, wo einpcharerwartet wird. Ebenfalls entfallen:BICGetLocationundBICGetBranchexistieren nicht; die vorhandenen Funktionen sindBICNormalize,BICValidate,BICGetBankCode,BICGetCountryundBICIsHeadOffice.
Funktionen
| Signatur | Sichtbarkeit | Beschreibung |
|---|---|---|
BICValidate(bic: pchar): int64 | pub | BIC/SWIFT-Code strukturell validieren |
BICNormalize(bic: pchar): pchar | pub | BIC normalisieren (Leerzeichen entfernen, Großbuchstaben) |
BICGetBankCode(bic: pchar): pchar | pub | 4-stelligen Bankcode extrahieren |
BICGetCountry(bic: pchar): pchar | pub | 2-stelliges Länderkürzel extrahieren |
BICGetLocation(bic: pchar): pchar | pub | 2-stelligen Ortsschlüssel extrahieren |
BICGetBranch(bic: pchar): pchar | pub | 3-stelligen Filialcode extrahieren (leer bei 8-stelligem BIC) |
BICIs8Digit(bic: pchar): bool | pub | Gibt true zurück wenn BIC 8-stellig ist (kein Filialcode) |
Letzte Aktualisierung: 2026-05-23
