Lesen von Code 39 BarCodes in C# Schnell und einfach

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronBarcode vereinfacht das Lesen von Standard- und erweiterten Code 39-Barcodes in C#, indem es die Klasse BarcodeReaderOptions mit BarcodeEncoding.Code39 verwendet und bei Bedarf UseCode39ExtendedMode für die vollständige Unterstützung von ASCII-Zeichen aktiviert.

Der Code 39 ist ein vielseitiges Barcode-Format, das in der Inventarisierung, Logistik und in industriellen Anwendungen weit verbreitet ist. Ein Code 39-Barcode kann in der Länge variieren, was ihn für verschiedene Anwendungsfälle flexibel macht.

Der ursprüngliche Standardcode 39 kodiert Großbuchstaben (A-Z), Ziffern (0-9) und mehrere Sonderzeichen (Leerzeichen, -, $, +, % und .). Dies funktioniert gut für einfache IDs, aber moderne Anwendungen erfordern oft die Kodierung aller 128 ASCII-Zeichen. Die Code 39 Extended-Spezifikation erfüllt diese Anforderungen.

Dieser Leitfaden zeigt, wie man mit IronBarcode sowohl Standard- als auch erweiterte Code 39-Varianten lesen kann. Ob Sie nun Bestandsverwaltungssysteme aufbauen, Sendungen verfolgen oder industrielle Barcodes verarbeiten, IronBarcode bietet zuverlässige Code 39-Lesefunktionen. Einen vollständigen Überblick über die Möglichkeiten zum Lesen von Barcodes finden Sie in unserem umfassenden Barcode-Schnellstart-Leitfaden.

Erste Schritte mit IronBarcode

Nutzen Sie IronBarcode heute kostenlos in Ihrem Projekt.

Erster Schritt:
green arrow pointer


als-Überschrift:2(Schnellstart: Lesen von Code 39 BarCodes in C#)


Wie lese ich Standard Code 39 BarCodes?

Das Lesen eines Code 39-Barcodes mit IronBarcode ist ganz einfach. Initialisieren Sie zunächst eine neue BarcodeReaderOptions und geben Sie den Barcodetyp BarcodeEncoding.Code39 an. Dies optimiert das Lesegerät, da es genau weiß, nach welchem Barcode-Format es suchen muss.

Als Nächstes werden die Barcodes mit der Methode Read gelesen, wobei das Barcode-Bild und die Optionen als Parameter übergeben werden. Iterieren Sie dann die Ergebnissammlung und geben Sie den String-Wert jedes Barcodes auf der Konsole aus. Für fortgeschrittene Konfigurationen lesen Sie bitte unseren detaillierten Leitfaden zu Barcode-Leser-Einstellungen.

Wie sieht ein Standard Code 39 BarCode aus?

Dieses Bild enthält einen Standard-Code-39-Barcode. Beachten Sie, wie der BarCode seinen kodierten Wert sowohl als Balken als auch als lesbaren Text anzeigt. Diese doppelte Darstellung ist typisch für Code 39-Barcodes in industriellen und logistischen Anwendungen.

Code 39 Barcode-Kodierung 'ABC-1234' mit sichtbaren Strichen und lesbarem Text darunter

Welchen Code brauche ich, um den Standard Code 39 zu lesen?

```cs :title=Lesen von Standard Code 39 BarCodes / :path=/static-assets/barcode/content-code-examples/how-to/read-code39-barcode.cs / ironBarCode verwenden; system verwenden;

BarcodeReaderOptions options = new BarcodeReaderOptions() { // Sagen Sie dem Leser, dass er nur nach Code 39 suchen soll. ExpectBarcodeTypes = BarcodeEncoding.Code39 };

// BarCode(s) aus der Bilddatei unter Verwendung der angegebenen Optionen lesen var results = BarcodeReader.Read("code39.png", options);

// Schleife durch jedes im Bild gefundene BarcodeResultat foreach (var result in results) { // Druckt den dekodierten String-Wert des Standard-Code 39-Barcodes Console.WriteLine(result.ToString()); }


Die Angabe des erwarteten Barcodetyps verbessert die Leseleistung erheblich. Mit IronBarcode wird keine Zeit mit der Suche nach anderen Barcodeformaten verschwendet, was insbesondere bei der Stapelverarbeitung großer Bildmengen von Vorteil ist. Erfahren Sie mehr über die Optimierung der Barcode-Leseleistung mit unserem [Lesegeschwindigkeits-Optionen-Leitfaden](https://ironsoftware.com/csharp/barcode/how-to/reading-speed-options/).

### Welches Ergebnis kann ich erwarten?

<div class="content-img-align-center">
    <div class="center-image-wrapper" style="width=50%">
         <img src="/static-assets/barcode/how-to/read-code39-barcodes/standard-output.webp" alt="Visual Studio Konsole zeigt Code 39 Barcode-Leseausgabe mit dekodiertem Wert ABC-1234 und Exit-Code 0" barcode class="img-responsive add-shadow">
    </div>
</div>

Die Konsolenausgabe zeigt den erfolgreich dekodierten Wert "ABC-1234" aus unserem Code 39-Barcode. Der Exit-Code 0 bestätigt die erfolgreiche Ausführung ohne Fehler. Implementieren Sie in Produktionsanwendungen eine angemessene Fehlerbehandlung für Fälle, in denen Barcodes möglicherweise nicht erkannt werden. Schauen Sie sich unseren [Leitfaden zur Fehlerbehebung bei nicht erkannten BarCodes](https://ironsoftware.com/csharp/barcode/troubleshooting/barcode-not-recognized/) an, wenn Sie auf Probleme stoßen.

<hr>

## Wie lese ich erweiterte Code 39 BarCodes?

Das Lesen eines erweiterten Code 39-Barcodes erfolgt auf ähnliche Weise wie beim Standard-Code 39. Der Hauptunterschied besteht darin, die Eigenschaft `UseCode39ExtendedMode` auf true zu setzen.

Mit dieser Einstellung wird IronBarcode angewiesen, Sonderzeichenpaare (z. B. +T, %O) zu interpretieren und in ihre vollständigen ASCII-Entsprechungen (z. B. t, !) zu dekodieren. Der erweiterte Code 39 verwendet Zwei-Zeichen-Sequenzen, um Zeichen außerhalb des Standardsatzes darzustellen. Dadurch wird der BarCode etwas länger, ermöglicht aber die Kodierung von Kleinbuchstaben, zusätzlicher Interpunktion und Steuerzeichen.

### Wann sollte ich den erweiterten Code 39 verwenden?

Extended Code 39 ist ideal, wenn Ihre Anwendung kodieren muss:
- Gemischte Groß- und Kleinschreibung (Groß- und Kleinbuchstaben)
- Sonderzeichen wie @, #, &, !, ?
- Steuerzeichen für die Datenübertragung
- Vollständige Unterstützung des ASCII-Zeichensatzes

Zu den üblichen Anwendungen gehören Systeme für das Gesundheitswesen, die Dokumentenverfolgung und die erweiterte Bestandsverwaltung, die eine umfangreiche Datenkodierung erfordern.

### Wie sieht ein erweiterter Code 39 BarCode aus?

Dieses Bild enthält einen erweiterten Code-39-Barcode. Der Wert `Test-Data!` enthält Kleinbuchstaben und ein Ausrufezeichen, die nur im vollständigen ASCII-Zeichensatz verfügbar sind und den erweiterten Modus erfordern.

<div class="content-img-align-center">
    <div class="center-image-wrapper" style="width=50%">
         <img src="/static-assets/barcode/how-to/read-code39-barcodes/code39extended.webp" alt="Erweiterter Code 39-Barcode mit kodierten Daten und 'Test-Data!' als dekodierte Ausgabe unterhalb der Balken" barcode class="img-responsive add-shadow">
    </div>
</div>

### Welchen Code benötige ich für den erweiterten Code 39?

```cs
:path=/static-assets/barcode/content-code-examples/how-to/read-extended-code39-barcode.cs

Welche Ausgabe sollte ich vom erweiterten Modus erwarten?

Konsolenausgabe mit dem Ergebnis 'Test-Data!' der Anwendung zum Lesen von erweiterten Code 39-Barcodes

Tipps In der Konsolenausgabe werden möglicherweise nicht alle ASCII-Zeichen korrekt angezeigt. In diesen Szenarien sollten Sie die Ausgabe in eine .txt-Datei leiten, um das extrahierte Ergebnis zu überprüfen.

Fortgeschrittene Code 39-Lesetechniken

Behandlung mehrerer BarCodes

IronBarcode erkennt und liest automatisch mehrere Code 39-Barcodes in einem einzigen Bild. Die Methode Lesen gibt eine Sammlung von Ergebnissen zurück, so dass Sie jeden Barcode einzeln verarbeiten können. Für Anwendungen, die mit BarCode-Bögen oder komplexen Dokumenten arbeiten, lesen Sie unseren Leitfaden zum Lesen mehrerer BarCodes.

Umgang mit Bildern schlechter Qualität

Code 39-Barcodes erscheinen manchmal unter nicht idealen Bedingungen - verblasste Drucke, schiefe Winkel oder Scans mit geringer Auflösung. IronBarcode enthält leistungsstarke Bildkorrekturfilter, die die Lesegenauigkeit erheblich verbessern können:

BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    ExpectBarcodeTypes = BarcodeEncoding.Code39,
    UseCode39ExtendedMode = true,

    // Apply image correction filters
    ImageFilters = new ImageFilterCollection() {
        new SharpenFilter(),
        new ContrastFilter(),
        new BrightnessFilter()
    }
};
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    ExpectBarcodeTypes = BarcodeEncoding.Code39,
    UseCode39ExtendedMode = true,

    // Apply image correction filters
    ImageFilters = new ImageFilterCollection() {
        new SharpenFilter(),
        new ContrastFilter(),
        new BrightnessFilter()
    }
};
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Leistungsoptimierung

Für hochvolumige Barcode-Leseanwendungen sollten Sie diese Optimierungsstrategien in Betracht ziehen:

  1. Genaue Barcode-Typen angeben - Immer ExpectBarcodeTypes einstellen, um unnötiges Scannen zu vermeiden
  2. Angemessene Lesegeschwindigkeit - Gleichgewicht zwischen Geschwindigkeit und Genauigkeit je nach Bedarf
  3. Bilder parallel verarbeiten - Multithreading für die Stapelverarbeitung nutzen
  4. Bilder vorverarbeiten - Korrekturen nur bei Bedarf vornehmen, um die Leistung zu erhalten

Zusammenfassung

IronBarcode vereinfacht das Lesen von Code 39-Barcodes in C#, egal ob Sie mit Standard- oder erweiterten Formaten arbeiten. Die wichtigsten Schritte sind:

  1. Erstellen Sie eine BarcodeReaderOptions-Instanz
  2. Setzen Sie ExpectBarcodeTypes auf BarcodeEncoding.Code39
  3. Aktivieren Sie bei Bedarf UseCode39ExtendedMode für volle ASCII-Unterstützung
  4. Verwenden Sie die Methode Lesen, um Ihre Bilder zu verarbeiten

Mit diesen Grundlagen sind Sie in der Lage, das Lesen von Code 39-Barcodes in Ihre .NET-Anwendungen zu integrieren. Eine vollständige API-Dokumentation und weitere Barcode-Formate finden Sie in unserer umfassenden API-Referenz. Ein praktisches Beispiel speziell für Code 39 finden Sie in unserem speziellen Code 39-Tutorial.

Häufig gestellte Fragen

Was ist Code 39 und wofür wird er häufig verwendet?

Der Code 39 ist ein vielseitiges Barcodeformat, das in den Bereichen Inventarisierung, Logistik und industrielle Anwendungen weit verbreitet ist. Es kann in der Länge variieren, was es für verschiedene Anwendungsfälle flexibel macht. Der Standard Code 39 kodiert Großbuchstaben (A-Z), Ziffern (0-9) und verschiedene Sonderzeichen, während der Code 39 Extended alle 128 ASCII-Zeichen kodieren kann. IronBarcode bietet zuverlässige Funktionen zum Lesen von Standard- und erweiterten Code 39-Varianten.

Wie lese ich einen Standard Code 39 Barcode in C#?

Um einen Code 39 Barcode mit IronBarcode zu lesen, initialisieren Sie zunächst eine neue BarcodeReaderOptions und geben Sie den Barcodetyp BarcodeEncoding.Code39 an. Dann verwenden Sie die Read-Methode und übergeben das Barcode-Bild und die Optionen als Parameter. Abschließend durchlaufen Sie die Ergebnissammlung, um auf die Zeichenkettenwerte der einzelnen Barcodes zuzugreifen.

Welche Zeichen kann der Standard-Code 39 kodieren?

Der Standardcode 39 kodiert Großbuchstaben (A-Z), Ziffern (0-9) und verschiedene Sonderzeichen wie Leerzeichen, Bindestrich (-), Dollarzeichen ($), Pluszeichen (+), Prozent (%) und Punkt (.). Um alle 128 ASCII-Zeichen zu kodieren, müssen Sie den erweiterten Code 39-Modus verwenden, den IronBarcode mit der Option UseCode39ExtendedMode unterstützt.

Was ist der Unterschied zwischen dem Standard- und dem erweiterten Code 39?

Der Standard Code 39 ist auf Großbuchstaben, Zahlen und einige wenige Sonderzeichen beschränkt, was für einfache IDs gut funktioniert. Code 39 Extended erfüllt die Anforderungen moderner Anwendungen an die Codierung aller 128 ASCII-Zeichen. IronBarcode vereinfacht das Lesen beider Varianten durch die Aktivierung von UseCode39ExtendedMode in der BarcodeReaderOptions-Klasse für die vollständige Unterstützung von ASCII-Zeichen.

Können Code 39-Barcodes menschenlesbaren Text enthalten?

Ja, Code 39-Barcodes zeigen ihren kodierten Wert in der Regel sowohl als Balken als auch als für den Menschen lesbaren Text unterhalb des Barcodes an. Diese doppelte Darstellung ist in industriellen und logistischen Anwendungen üblich und erleichtert den Bedienern die Überprüfung des Barcode-Inhalts. IronBarcode kann die Barcodedaten unabhängig vom Vorhandensein des menschenlesbaren Textes lesen.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 2,002,059 | Version: 2025.12 gerade veröffentlicht