Hebrew.EBCDIC-Unicode.Converter
1.1.0
dotnet add package Hebrew.EBCDIC-Unicode.Converter --version 1.1.0
NuGet\Install-Package Hebrew.EBCDIC-Unicode.Converter -Version 1.1.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Hebrew.EBCDIC-Unicode.Converter" Version="1.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Hebrew.EBCDIC-Unicode.Converter" Version="1.1.0" />
<PackageReference Include="Hebrew.EBCDIC-Unicode.Converter" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Hebrew.EBCDIC-Unicode.Converter --version 1.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Hebrew.EBCDIC-Unicode.Converter, 1.1.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Hebrew.EBCDIC-Unicode.Converter@1.1.0
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Hebrew.EBCDIC-Unicode.Converter&version=1.1.0
#tool nuget:?package=Hebrew.EBCDIC-Unicode.Converter&version=1.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Hebrew.EBCDIC-Unicode.Converter
A production-ready .NET library for converting between EBCDIC (Extended Binary Coded Decimal Interchange Code) and UTF-8 encodings, with specialized support for Hebrew text processing.
๐ Features
- ๐ Unified API: Single public method with clean interface
- ๐ Multi-Codepage Support: Hebrew Custom, IBM500, IBM037, IBM424
- ๐ Production Ready: Comprehensive error handling and validation
- โก High Performance: Optimized for large-scale text processing
- ๐ง .NET 8: Built on the latest LTS framework
- ๐ Well Documented: Complete XML documentation included
๐ฆ Installation
Package Manager Console
Install-Package Hebrew.EBCDIC-Unicode.Converter
.NET CLI
dotnet add package Hebrew.EBCDIC-Unicode.Converter
PackageReference
<PackageReference Include="Hebrew.EBCDIC-Unicode.Converter" Version="1.1.0" />
๐ง Quick Start
using HebrewEBCDIC3Unicode.Converter;
// Create converter instance
var converter = new HebrewEbcdicConverter();
// Convert EBCDIC hex string to UTF-8 (default Hebrew mapping)
string result = converter.ConvertEbcdicToUtf8("D7E9F0F1F2");
// Output: "ืฉื012"
// Convert with specific codepage
string ibmResult = converter.ConvertEbcdicToUtf8("C8859393969540E6969993848", EbcdicCodepage.IBM500);
// Output: "Hello World"
๐ Supported Codepages
Codepage | Description | Best For |
---|---|---|
HebrewCustom |
Optimized Hebrew character mapping | Hebrew text processing |
IBM500 |
IBM EBCDIC International | International applications |
IBM037 |
IBM EBCDIC US-Canada | North American systems |
IBM424 |
IBM EBCDIC Hebrew | IBM Hebrew systems (with .NET limitations) |
๐ Advanced Usage
Error Handling
try
{
var result = converter.ConvertEbcdicToUtf8("invalidhex");
}
catch (ArgumentException ex)
{
// Handle invalid hex string
Console.WriteLine($"Invalid input: {ex.Message}");
}
Batch Processing
var ebcdicStrings = new[] { "D7E9F0F1F2", "C8859393969540E6969993848" };
var results = ebcdicStrings.Select(s => converter.ConvertEbcdicToUtf8(s)).ToList();
IBM-424 Handling
// IBM-424 has .NET limitations - graceful handling
var result = converter.ConvertEbcdicToUtf8("D7E9", EbcdicCodepage.IBM424);
// Returns: "[Codepage 424 not supported by Microsoft .NET - consider using HebrewCustom mapping]"
๐ Character Mapping Details
Hebrew Characters (HebrewCustom)
- Hebrew Letters (ื-ืช): Optimized mapping for modern Hebrew text
- Niqqud Support: Vowel points and diacritical marks
- Special Characters: Hebrew-specific punctuation and symbols
English & Numbers
- English Letters: Standard EBCDIC uppercase/lowercase mapping
- Numbers (0-9): Standard EBCDIC numeric mapping (0xF0-0xF9)
- Special Characters: Spaces, periods, apostrophes, and common symbols
๐๏ธ Technical Implementation
Why Not System.Text.Encoding?
This library provides custom Hebrew EBCDIC mapping because:
- Microsoft .NET Limitations: Limited EBCDIC codepage support
- Hebrew Optimization: Custom mapping optimized for Hebrew text
- Legacy System Support: Compatibility with mainframe Hebrew data
- Production Reliability: Handles edge cases and invalid input gracefully
Performance Characteristics
- Memory Efficient: Minimal allocations during conversion
- Thread Safe: Converter instances can be used concurrently
- Validation: Input validation prevents runtime errors
๐งช Testing & Quality
This library includes comprehensive testing:
- โ Round-trip Testing: Ensures conversion accuracy
- โ Error Handling: Invalid input validation
- โ Performance Testing: Large-scale processing verification
- โ Multi-codepage Testing: All supported codepages verified
๐ Real-World Applications
- Mainframe Data Migration: Converting legacy Hebrew EBCDIC data
- Banking Systems: Processing Hebrew transaction data from IBM systems
- Government Systems: Converting Hebrew administrative data
- Database Integration: ETL processes with Hebrew EBCDIC sources
๐ Requirements
- .NET 8.0 or later
- System.Text.Encoding.CodePages (automatically included)
๐ค Contributing
This project welcomes contributions! Areas of interest:
- Additional EBCDIC codepage support
- Performance optimizations
- Enhanced Hebrew text processing
- Documentation improvements
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Related Projects
- HebrewEBCDIC3Unicode: Complete solution with DB2 integration
- Unified API Example: Comprehensive usage guide
๐ Support
- Issues: GitHub Issues
- Documentation: Project README
- Examples: API Documentation
Made with โค๏ธ for the Hebrew text processing community
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- System.Text.Encoding.CodePages (>= 8.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated | |
---|---|---|---|
1.1.0 | 186 | 7/10/2025 |